Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    JFileChooser e JTable

    salve ragazzi, è possible salvare i dati di una tabella attraverso un JFileChooser?
    ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JFileChooser e JTable

    Originariamente inviato da superpisu
    salve ragazzi, è possible salvare i dati di una tabella attraverso un JFileChooser?
    ciao e grazie
    Eeeh??
    JFileChooser serve solo e unicamente per presentare all'utente una interfaccia per selezionare un file. Cosa poi ci fai con l'oggetto (o gli oggetti ... si può anche usare la seleziona multipla) di tipo java.io.File che il JFileChooser ti fornisce ..... beh, è un'altra questione.
    Puoi a quel punto aprire il file e scriverci quello che vuoi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ciao andbin, ascolta forse ho scritto male io..
    volevo fare una cosa del tipo, che vai sul menu FILE poi premi SALVA e veniva salvato il contenuto della JTable, dove dice l'utente, ecco quindi attraverso quel jFileChooser..
    e complicato farlo?
    sto provando a fare qualcosina in java, fino ad esso ho fatto la stampa della JTable e quella mi riesce, poi ho fatto un menu da dove posso salvare l'intero DB su un file txt e quello va bene,
    codice:
    if (o instanceof JMenuItem) {
    		
    			if (o==salva) {
    
    		        File f=new File("elenco.txt");
                            FileOutputStream fos=new FileOutputStream(f);
                            	
                            PrintStream ps=new PrintStream(fos);
                            
                            for (int i=0;i<temp.size();i++){
                            	
                            
                            ps.println(temp.get(i));
                            ps.println("");
    anche se non scelgo io la destinazione su dove salvare quel txt ma viene salvato nella stessa cartella del programma..
    ora volevo fare questa cosa, però non trovo niente in giro..
    consiglio?
    ciao andbin

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da superpisu
    ciao andbin, ascolta forse ho scritto male io..
    No, si è capito benissimo.

    Ripeto: JFileChooser serve solo per presentare all'utente l'interfaccia di selezione di un file. Basta guardare la documentazione ufficiale di JFileChooser o leggere il relativo tutorial della Sun.
    Il minimo di codice per usare un JFileChooser è:

    codice:
    JFileChooser chooser = new JFileChooser();
    
    int returnVal = chooser.showSaveDialog (parent);
    
    if (returnVal == JFileChooser.APPROVE_OPTION)
    {
        File f = chooser.getSelectedFile ();
        
        // .... usa f ....
    }
    dove 'parent' è il Component che fa da parente e in genere è il frame della tua interfaccia grafica.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    ciao andbin, ho guardato un pò la documentazione e sono riuscito a fare delle cose, tipo che avevo creato un JTextComponent editor dove scrivevo qualcosa dentro..
    poi quando premevo il pulsante SALVA facevo
    codice:
    int response = fileChooser.showSaveDialog(this);
        if(response==JFileChooser.APPROVE_OPTION) {
          try {
            File f = fileChooser.getSelectedFile();
            Writer out = new FileWriter(f);
            editor.write(out);
    e mi salvava il contenuto dell'editor dove dicevo io..
    questo funziona e va bene, ma come faccio a fare la stessa cosa con una JTable?
    quindi invece dell'editor io gli devo passare il contenuto della tabella..
    ciao e grazie andbin

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da superpisu
    questo funziona e va bene, ma come faccio a fare la stessa cosa con una JTable?
    quindi invece dell'editor io gli devo passare il contenuto della tabella..
    ciao e grazie andbin
    Beh, no alt. Una tabella è una cosa un po' più complessa.
    Non puoi salvare direttamente il contenuto di JTable. Dipende in che formato vuoi salvare i dati della tabella, ad esempio ogni riga del JTable può essere scritta su una riga del file mettendo eventualmente un separatore tra i dati delle colonne.
    Ma devi farlo tu: leggi le dimensioni della tabella, scansioni righe/colonne, per ogni cella ottieni un Object su cui invochi toString() e scrivi la String sul file come vuoi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    ciao andbin, no vabbè il metodo toString() l'avevo già usato ma esce un pò confusionario sul txt, pensavo si potesse proprio salvare la tebella così come la vedo, anche perchè il toString() su un file di excel non mi inserisce i valori nelle celle ma li scrive come se scrivesse su di un blocco note.
    vorrà dire che me lo tengo sul txt eh eh..
    un'altra cosa, quando si apre la finestra su dove salvare il file, in basso non mi permette di scegliere l'estensione da dargli, devo scrivere io ad esempio prova.txt
    come faccio ad esempio a fargli capire che me lo deve salvare lui in automatico su txt.
    ciao e grazie

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da superpisu
    ciao andbin, no vabbè il metodo toString() l'avevo già usato ma esce un pò confusionario sul txt, pensavo si potesse proprio salvare la tebella così come la vedo, anche perchè il toString() su un file di excel non mi inserisce i valori nelle celle ma li scrive come se scrivesse su di un blocco note.
    Se devi poi importare il file in excel, allora puoi scriverlo in un formato più adatto ad excel. Ad esempio il formato CSV.

    Originariamente inviato da superpisu
    un'altra cosa, quando si apre la finestra su dove salvare il file, in basso non mi permette di scegliere l'estensione da dargli, devo scrivere io ad esempio prova.txt
    come faccio ad esempio a fargli capire che me lo deve salvare lui in automatico su txt.
    ciao e grazie
    Quelli sono gli "user choosable file filters", se ne possono aggiungere quanti ne vuoi con addChoosableFileFilter(). Però devi avere un oggetto FileFilter. Se usi Java 6. c'è la classe FileNameExtensionFilter, altrimenti c'è da farsi una classe apposita, vedi un esempio nel mio JavaTips.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    ciao andbin, mi devi scusare ma non riesco a far funzionare nessuna delle due cose che mi hai detto..ti dico che uso l'ultima versione di java quindi la 6 sarà..
    ciao e grazie

  10. #10
    ciao andbin, per il fatto delle estensioni al click sul pulsante SALVA, avevo fatto questo:
    codice:
    FileFilter filter = new FileFilter() {
    
    public String getDescription() {
    return ".txt";
    }
    public boolean accept(File f) {
    return f.getName().toLowerCase().endsWith(".txt");
    }
    
    };
    				
    				fileChooser = new JFileChooser();
    				fileChooser.addChoosableFileFilter(filter);
    			int response = fileChooser.showSaveDialog(this);
                 if(response==JFileChooser.APPROVE_OPTION) {
         try{ 
         
            File f = fileChooser.getSelectedFile();
    ecc ecc
    questo però mi fa vedere solo i file .txt quando apro il JFileChooser(ma non era questo che volevo).
    io volevo che se inserisco come nome "Tabella", mi deve essere salvata sul desktop come Tabella.txt oppure Tabella.xls in base a quello che scelgo in basso alla finestra del JFileChooser.
    perchè sennò sono costretto a scriverci io direttamente Tabella.txt.

    per l'altro punto quello che mi dicevi del CSV non ho capito che devo fare.
    ciao e grazie andbin

    ps ho java 6

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.