Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19
  1. #11
    Originariamente inviato da mostra
    Si infatti mi sono spiegata male...Allora mettendo "dat" nel FileNameExtensionFilter mi compaiono solo file .dat..ma se clicco su tutti i file mi compaiono tutti e io posso selezionare qualunque file anche se non è .dat e non mi segnale nessun errore!!
    Io al posto tuo farei in questo modo:
    codice:
    /**
     * @(#)FileChooser.java
     *
     *
     * @author Vincenzo
     * @version 1.00 2011/6/28
     */
    
    import javax.swing.JFileChooser;
    import java.io.File;
    
    public class FileChooser {
        private JFileChooser jfc;
        
        /**
         * Creates a new instance of <code>FileChooser</code>.
         */
        public FileChooser() {
        	this.jfc = new JFileChooser( new File("C:/Desktop/") );
        	javax.swing.filechooser.FileFilter filter = new TxtFileFilter();
        	this.jfc.setFileFilter( filter );
        	this.jfc.setAcceptAllFileFilterUsed(false);
        	
        	if( this.jfc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION )
        		System.out.println("You have selected " + this.jfc.getSelectedFile().getName() + " file!");
        }
        
        private class TxtFileFilter extends javax.swing.filechooser.FileFilter{
        	@Override
        	public boolean accept(File f){
        		int index = f.getName().lastIndexOf(".");
        		return f.getName().substring(index + 1).equals("txt");
        	}
        	
        	@Override
        	public String getDescription(){
        		return "Documenti di testo (*.txt)";
        	}
        }
        
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
            new FileChooser();
        }
    }
    Così facendo lanci all'utente un feedback ben preciso, ovvero gli dici che può selezionare solo file di testo (ad esempio).

  2. #12
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da mostra
    Si infatti mi sono spiegata male...Allora mettendo "dat" nel FileNameExtensionFilter mi compaiono solo file .dat..ma se clicco su tutti i file mi compaiono tutti e io posso selezionare qualunque file anche se non è .dat e non mi segnale nessun errore!!
    Togli il filtro "Tutti i file": setAcceptAllFileFilterUsed(false)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #13
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    6
    Volendo puoi anche farlo con un FileDialog.

    codice:
    FileDialog fd= new FileDialog(quì devi per forza attaccarci un frame non puoi metterci null, "Seleziona il file", FileDialog.LOAD);
    fd.setFile("*.dat");
    Non puoi creare un FileDialog sena un frame genitore (come si può fare con il JFileCHooser), per il resto funziona allo stesso modo.

  4. #14
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da AR89
    codice:
    fd.setFile("*.dat");
    Sicuro che faccia quello che intendi?
    Dalla documentazione:
    public void setFile(String file)
    Sets the selected file for this file dialog window to be the specified file. This file becomes the default file if it is set before the file dialog window is first shown.
    Originariamente inviato da AR89
    Non puoi creare un FileDialog sena un frame genitore (come si può fare con il JFileCHooser), per il resto funziona allo stesso modo.
    "funziona allo stesso modo" mica tanto, FileDialog è estremamente limitato e inoltre dipende molto dal sistema operativo su cui ti trovi. FileDialog su Mac OS X e FileDialog su Windows su certe cose funzionano in modo un po' diverso.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #15
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    6
    Originariamente inviato da Alex'87
    Sicuro che faccia quello che intendi?
    Dalla documentazione:


    "funziona allo stesso modo" mica tanto, FileDialog è estremamente limitato e inoltre dipende molto dal sistema operativo su cui ti trovi. FileDialog su Mac OS X e FileDialog su Windows su certe cose funzionano in modo un po' diverso.
    In questo modo le permette di vedere solo i file con quella estensione (tutti gli latri non li vede).

    Sul fatto che funzionino in modo diverso lo so, su Windows il FileDialog non supporta i filtri, per questo si fa in questo modo.
    Io lo preferisco per una questione di LooK&Feel inoltre è molto comodo quando si tratta di salvare file (FileDialog.SAVE)

  6. #16
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da AR89
    Sul fatto che funzionino in modo diverso lo so, su Windows il FileDialog non supporta i filtri, per questo si fa in questo modo.
    Ho provato fd.setFile("*.pdf") su Mac OS 10.6.8 con Java 6. La finestra che si apre mi lascia selezionare qualunque cosa.

    fd.setFile("MioFile.pdf") invece mi apre una finestra in cui il file MioFile.pdf è già selezionato (se esistente), ed è quello che dovrebbe succedere anche su Windows e Linux stando alla documentazione

    Originariamente inviato da AR89
    In questo modo le permette di vedere solo i file con quella estensione (tutti gli latri non li vede).
    E perché usare un oggetto limitatissimo, implementato in modi differenti sui vari OS (a quanto pare), quando può fare tutto quello che le serve (e molte altre cose) con JFileChooser?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #17
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    6
    Originariamente inviato da Alex'87
    Ho provato fd.setFile("*.pdf") su Mac OS 10.6.8 con Java 6. La finestra che si apre mi lascia selezionare qualunque cosa.

    fd.setFile("MioFile.pdf") invece mi apre una finestra in cui il file MioFile.pdf è già selezionato (se esistente), ed è quello che dovrebbe succedere anche su Windows e Linux stando alla documentazione

    E perché usare un oggetto limitatissimo, implementato in modi differenti sui vari OS (a quanto pare), quando può fare tutto quello che le serve (e molte altre cose) con JFileChooser?
    Strano ho provato pure io su Mac e in effetti si comporta come dici tu, su Windows si comporta come ho detto prima.

    A parte i filtri quali sarebbero gli altri limiti di un FileDialog?

  8. #18
    Originariamente inviato da mostra
    In realtà ho messo il punto ( .dat invece che dat) e non mostra i file .dat...inceve mettendo solo l'estensione senza punto visualizza i file con l'estensione "desiderate".
    Poi ho agginto il codice con accept non funziona proprio...
    hai ragione (io avevo messo il punto nella descrizione e per questo mi ero confuso xD).
    ecco + o - cm ho fatto io:
    codice:
    if(filter.accept(file)){
          return file.toString();
    }
    return null;
    ora sta a te gestire quel "return null;" dicendo all'utente che l'immagine selezionata non è valida.
    per esempio:
    codice:
    if(tuoMetodo()!=null){
        //operazioni;
    }else{
         JOptionPane.showMessageDialog(this, "Immagine non valida");
    }
    effettivamente l'accept controlla l'estensione, ma nn comunica eventuali selezioni errate e quindi devi gestirtele.
    scusami per la dimenticanza xD
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

  9. #19
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da AR89
    A parte i filtri quali sarebbero gli altri limiti di un FileDialog?
    Ad esempio non permette di personalizzare la visualizzazione dei file ne di avere il cosidetto "Accessory Component", che in certi casi è veramente utile. Magari usare FileDialog sul sistema operativo Y può andarci bene ma non appena passiamo su Z ecco che diventa qualcosa di orribile (prova FileDialog su Ubuntu, ).

    Inoltre su Mac OS X non permette di navigare il file system per selezionare una cartella, ma solo file (se seleziono una cartella mi mostra il contenuto, non me la restituisce). Per ovviare è necessario settare un apposita proprietà Apple (e quindi non standard). Su altri sistemi non ho verificato questa cosa

    my two cents
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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 © 2026 vBulletin Solutions, Inc. All rights reserved.