Link
Annunci Google
| Java: salvare con JfileChooser |
| Programmazione & Co. |
| Sabato 31 Luglio 2010 11:28 |
|
Grazie all'aiuto del forum HTML.it (http://forum.html.it/forum/). Purtroppo sono ancora agli inizi della programmazione e da solo non riesco a fare tutto. Inoltre Swing è un argomento vasto e complesso. Esistono vari modi per creare un jFileChooser. Io l'ho inserito direttamente dentro al Frame e parte quando viene richiamato l'evento da tastiera Ctrl+S o quando si clicca sul menu File->Salva. Prima di tutto importiamo i package che ci servono:
Il primo serve per usare le librerie swing; il secondo per operazioni IO (in questo caso per scrivere/creare il file da salvare); il terzo e il quarto per il filechooser e i filtri. Vediamo il codice:
Come vedete il codice è all'interno di un evento. Ho preferito metterlo qua ma probabilmente dal punto di vista del "design" del codice sarebbe meglio mettere il codice altrove e poi richiamarlo. Comunque, alla seconda riga creo un oggetto JFileChooser, che corrisponde alla classica finestra per navigare tra le cartella. Nelle quattro roghe sotto aggiungo due filtri; uno per i file .txt e uno per i .csv. Creo una variabile int invocando il metodo showSaveDialog. JFileChooser ha due metodi principali: showOpenDialog che serve per aprire il file, e showSaveDialog che serve per slavarli. Apro un if: APPROVE_OPTION mi restituisce un valore se l'operazione è stata approvata. Se è così parte il codice per salavare il file. f è l'oggetto che verrà richiamato dopo nell'operazione IO. getFileFilter richiama il filtro selezionato (txt o csv). A seconda di quello che abbiamo richiamato entriamo in uno dei due if, che svolgono lo stesso compito ma con filtri diversi. La riga f.getName().indexOf('.') == -1 serve per verificare se in fase di salvataggio è stato aggiunta l'esensione a mano. In questo caso il file viene salvato così com'è; sennò viene aggiunto .txt o .csv al nome a seconda del filtro selezionato. Poi apro il blocco try/catch per salvare il file. Nel mio caso il contenuto lo prendo dalla JTextArea. Forse non sono stato troppo specifico, ma spiegare ogni metodo diventa lungo e prolisso. Se usate un IDE (io uso NetBeans), potete vedere che cosa ogni metodo selezionato, con una spiegazione molto più efficace della mia. Alla prossima! |
| Ultimo aggiornamento Sabato 31 Luglio 2010 11:57 |
