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

    JFileCHooser mi fate un esempio completo??

    Salve mi servirebbe un esempio COMPLETO di JFIleChooser che carichi solo i file .xml.
    GRAZIE!!!
    Potete gentilmente mostrarmelo...

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

    Re: JFileCHooser mi fate un esempio completo??

    Originariamente inviato da xxdavide84xx
    Salve mi servirebbe un esempio COMPLETO di JFIleChooser che carichi solo i file .xml.
    Ecco:

    codice:
    import javax.swing.*;
    import javax.swing.filechooser.*;
    
    
    JFileChooser chooser = new JFileChooser ();
    
    chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File XML", "xml"));
    
    int returnVal = chooser.showOpenDialog (parent);
    
    if (returnVal == JFileChooser.APPROVE_OPTION) {
        // .....
    }
    Ci sono solo alcune cose da tenere presente:

    1) FileNameExtensionFilter è una classe disponibile solo a partire da Java 6 ed è una estensione della classe astratta FileFilter (nota: di javax.swing.filechooser.FileFilter, non di java.io.FileFilter che ha lo stesso nome ma è una interfaccia ed è diversa).
    Se si vuole realizzare il filtro anche con una versione precedente di Java, è necessario definire in qualche modo una apposita implementazione di FileFilter. Ad esempio così:

    codice:
    import java.io.File;
    
    chooser.addChoosableFileFilter (new FileFilter () {
        public boolean accept (File f) {
            return f.isDirectory() || f.getName().endsWith (".xml");
        }
        public String getDescription () {
            return "File XML";
        }
    });
    2) Il JFileChooser per default ha il filtro "Tutti i file". Se si vuole toglierlo, basta fare inizialmente:

    codice:
    chooser.removeChoosableFileFilter (chooser.getAcceptAllFileFilter ());
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ma l'ho anche spiegato: FileNameExtensionFilter è una classe disponibile solo a partire da Java 6.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Si io vorrei farlo con la versione precedente alla 6...
    Se io creo:
    codice:
    import javax.swing.*;
    import java.io.*;
    
    class TextEditor extends JFrame  {
      private JFileChooser fileChooser;
    
      public TextEditor() {
        fileChooser = new JFileChooser();
        chooser.addChoosableFileFilter(new FileNameExtensionFilter("File XML", "xml"));
        int returnVal = chooser.showOpenDialog(parent);
        if ( returnVal == JFileChooser.APPROVE_OPTION ) {
          File f = fileChooser.getSelectedFile();
          // qui viene eseguita l'operazione sul file
          System.out.println(f);
        }
      }
    
      public static void main(String argv[]) {
        TextEditor t = new TextEditor();
      }
      
    
    }
    mi da i segenti errori:
    C:\Documents and Settings\Administrator\Desktop\DAVIDE\TextEditor.j ava:9: cannot find symbol
    symbol : class FileNameExtensionFilter
    location: class TextEditor
    chooser.addChoosableFileFilter(new FileNameExtensionFilter("File XML", "xml"));
    ^
    C:\Documents and Settings\Administrator\Desktop\DAVIDE\TextEditor.j ava:9: cannot find symbol
    symbol : variable chooser
    location: class TextEditor
    chooser.addChoosableFileFilter(new FileNameExtensionFilter("File XML", "xml"));
    ^
    C:\Documents and Settings\Administrator\Desktop\DAVIDE\TextEditor.j ava:10: parent is not public in java.awt.Component; cannot be accessed from outside package
    int returnVal = chooser.showOpenDialog(parent);
    ^
    C:\Documents and Settings\Administrator\Desktop\DAVIDE\TextEditor.j ava:10: cannot find symbol
    symbol : variable chooser
    location: class TextEditor
    int returnVal = chooser.showOpenDialog(parent);
    ^
    4 errors

    Mentre se io faccio così:
    codice:
    import javax.swing.*; 
    import java.io.*; 
    
    class TextEditor extends JFrame { 
    private JFileChooser fileChooser;
    
    public TextEditor()
    {
      fileChooser = new JFileChooser(); 
      int response = fileChooser.showOpenDialog(this); 
      if(response==JFileChooser.APPROVE_OPTION) { 
          File f = fileChooser.getSelectedFile(); 
          // qui viene eseguita l'operazione sul file
            System.out.println(f);
      } 
    
    }
    
    
     
    
      
      public static void main(String argv[]) { 
        TextEditor t = new TextEditor(); 
      } 
    }
    funziona, ma mi da tutte le estensioni di file...
    Potresti dirmi come farlo....
    (sai dovrei metterlo dentro al mio programma e cambiare document = builder.parse(new File("C:\\Documents and settings\\Administrator\\Desktop\\DAVIDE\\Dom\\tes i.xml")); col percorso dato da JFileCHooser)

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da xxdavide84xx
    Si io vorrei farlo con la versione precedente alla 6...

    Potresti dirmi come farlo....

    Ma l'ho spiegato chiaramente e ampiamente nella mia risposta iniziale. Leggila bene. C'è la parte in cui spiego che per versioni precedenti si deve realizzare una apposita implementazione e ho pure fatto l'esempio.
    Più di così .....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Purtroppo ho letto ma non ho capito...
    JFileChooser e TextArea

    Io ho la versione 1.6 di Java installata sul pc, ma poi dovrebbero averla anche quelli che utilizzano il programma per fare in modo che vada, giusto?


    Mi spieghi anche che valori possono andare in fileChooser.showOpenDialog() oltre a this e null???

    codice:
    import javax.swing.*; 
    import java.io.*; 
    
    class TextEditor extends JFrame { 
    private JFileChooser fileChooser;
    
    public TextEditor()
    {
      fileChooser = new JFileChooser(); 
      int response = fileChooser.showOpenDialog(this); 
      if(response==JFileChooser.APPROVE_OPTION) { 
          File f = fileChooser.getSelectedFile(); 
          // qui viene eseguita l'operazione sul file
            System.out.println(f);
      } 
    
    }
    
      public static void main(String argv[]) { 
        TextEditor t = new TextEditor(); 
      } 
    }

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da xxdavide84xx
    Io ho la versione 1.6 di Java installata sul pc, ma poi dovrebbero averla anche quelli che utilizzano il programma per fare in modo che vada, giusto?
    Se usi FileNameExtensionFilter sì, solo con Java 6 o superiore. Ma in ogni caso se hai il JDK 6 e vuoi compilare in modo che l'applicazione sia lanciabile anche con JVM più vecchie, oltre ovviamente a non usare classi/metodi di Java 6, devi anche compilare specificando le opzioni -source / -target, per la questione della versione dei file .class generati.

    Originariamente inviato da xxdavide84xx
    Mi spieghi anche che valori possono andare in fileChooser.showOpenDialog() oltre a this e null???
    Il metodo ha come parametro un Component, cioè un qualunque componente AWT/Swing rispetto a cui il chooser sarà "modale". In genere come parent si usa una finestra top-level, come per es. il JFrame o JDialog della applicazione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Scusa se ti salto da un discorso ad un'altro, ma vorrei chiederti una cosa...
    ti ricordi il mio programma immagino, visto che mi hai aiutato.

    Se io volessi metterlo in internet.
    Cosa mi consigli un Applet o una Servlet?
    (Ci sarebbe molto da modificare secondo te?)

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da xxdavide84xx
    Scusa se ti salto da un discorso ad un'altro, ma vorrei chiederti una cosa...
    ti ricordi il mio programma immagino, visto che mi hai aiutato.
    Sì, quello del file XML con i nodi degli stili ecc...

    Originariamente inviato da xxdavide84xx
    Se io volessi metterlo in internet.
    Cosa mi consigli un Applet o una Servlet?
    (Ci sarebbe molto da modificare secondo te?)
    Le applet e le servlet sono due mondi completamente diversi. Una applet gira all'interno di un browser sul client, una servlet gira sul server e si occupa solo di generare i contenuti HTML ecc...

    Nel tuo programma fai sicuramente solo delle System.out.println, che in una applet non sono visibili (vengono però loggate nella 'console' di Java). E poi visto che leggi da file, ci sono altre questioni di sicurezza nelle applet.
    Insomma ... già una applet ha un comportamento e un ciclo di vita diverso da una applicazione e comunque bisogna vedere che cosa/come vuoi visualizzare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.