Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480

    JFileChoose e JComboBox

    Ciao a tutti,
    ho creato un j button con jfilechooser in questo modo:
    codice:
    private void esportaActionPerformed(java.awt.event.ActionEvent evt) {                                        
    
            try {
    
                JFileChooser fc = new JFileChooser();
                fc.setDialogTitle("Save XLS");
                fc.setApproveButtonText("Save");
                fc.setApproveButtonToolTipText("Approve file");
    
                FileNameExtensionFilter xlsFilter = new FileNameExtensionFilter("File *.xls", "xls");
    
                fc.setFileFilter(xlsFilter);
    
                int returnVal = fc.showSaveDialog(fc);
    
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File f = fc.getSelectedFile();
                    FileFilter selectedFilter = fc.getFileFilter();
                    if (f.getName().indexOf('.') == -1) {
                        if (selectedFilter == xlsFilter) {
                            f = new File(f.getPath() + ".xls");
                        } else {
                            f = new File(f.getPath() + ".xls");
                        }
                    }
                    if (f.exists()) {
                        String msg = MessageFormat.format("The entry ''{0}'' already exists.\nDo you want to replace it?", new Object[]{f});
                        int r = JOptionPane.showConfirmDialog(null, msg, "Confirm", JOptionPane.YES_NO_OPTION);
                        if (r == JOptionPane.NO_OPTION) {
                        } else {
                            saveExcel(f);
                        }
                    } else {
                        saveExcel(f);
                    }
                }
            } catch (IOException | WriteException e) {
            }
        }
    però vorrei che nel campo "Nome File" del pannello venisse indicato il valore che ho precedentemente selezionato da una JComboBox.
    Come posso fare ?

    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    La questione è un pochino più complessa.
    JFileChooser permette di selezionate un file e restituisce, appunto, un oggetto File. L'oggetto File rappresenta un nome di file (con tutto il suo percorso). Quindi, per far sì che il JFileChooser mostri nella casella "Nome File" il nome del file "di default" è necessario passare al JFileChooser un oggetto File che rappresenti la "scelta di default".
    Quindi, il solo nome non è sufficiente: serve anche un percorso.

    Un esempio, che utilizza un file nella "directory corrente":
    codice:
    String nomeFile = comboBox.getSelectedItem();   // Prendo il nome dalla JComboBox
    
    File selFile = new File( nomeFile );   // Costruisce un oggetto File che risiede nella directory corrente
    
    JFileChooser fc = ...
    ...
    fc.setSelectedFile( nomeFile );
    ...

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Grazie, ho risolto così:
    codice:
    String nomeFile = pathname.getCitta();
                File selFile = new File(nomeFile); 
                JFileChooser fc = new JFileChooser();
                fc.setDialogTitle("Save XLS");
                fc.setApproveButtonText("Save");
                fc.setApproveButtonToolTipText("Approve file");
                FileNameExtensionFilter xlsFilter = new FileNameExtensionFilter("File *.xls", "xls");
                fc.setFileFilter(xlsFilter);
                fc.setSelectedFile(selFile);
    che ne dici ?

    p.s. ovviamente precedentemente ho fatto :
    codice:
    pathname.setCitta(menuCitta.getSelectedItem().toString());

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.