Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema JFileChooser!!! HELP!!

    Ciao a tutti, ho un problema nel mio programma che secondo me è causato dal JFileChooser.
    Praticamente premendo un bottone voglio che mi si apra un JFileChooser in modo da poter caricare o una cartella (contenente degli mp3) oppure direttamente un mp3. E questo l'ho fatto semplicemente in questo modo:

    JFileChooser fc = new JFileChooser() ;
    fc.setDialogType(JFileChooser.OPEN_DIALOG) ;
    fc.setFileSelectionMode(JFileChooser.FILES_AND_DIR ECTORIES) ;
    int returnVal = fc.showOpenDialog(null) ;
    if (returnVal == JFileChooser.APPROVE_OPTION) {
    //VOGLIO APRIRE QUI UN JDIALOG
    //JDialog jd = new JDialog() ;
    //jd.add(new JButton()) ;
    //jd.setVisible(true) ;
    File file = fc.getSelectedFile() ;

    //DA QUI IN POI IL PROGRAMMA CI METTE QUALCHE SECONDO
    //POSSO ANCHE CANCELLARE IL CODICE CHE HO MESSO QUI E ATTENDERE
    //QUALCHE SECONDO IN QUESTO MODO: Thread.Sleep(1000) ;
    //TANTO L'EFFETTO E' UGUALE
    if (file.isDirectory())
    esaminaDirectory(file) ;
    else if (file.isFile() && file.getName().endsWith(".mp3"))
    esaminaFile(file) ;
    }

    E questo codice funziona benissimo...
    Ora il mio problema è questo: vorrei che quando l'utente spinga sul bottone Apri del FileChooser mi si apra subito un JDialog con una JProgressBar per far sapere all'utente la percentuale di completamento del caricamento. Il problema però non è legato alla progressBar ma legato all'apertura di un semplice JDialog o JFrame una volta che l'utente ha premuto sul pulsante Apri del FileChooser.
    Nel senso che quando l'utente ha premuto sul pulsante Apri del JFileChooser mi si apre si il JDialog ma vuoto!! Il pulsante compare dopo la if esterna (if (returnVal == JFileChooser.APPROVE_OPTION) ... ).
    E non riesco a capire per quale motivo! Le ho provate veramente tutte!
    Vorrei non fosse vuoto il JDialog in quei pochoi secondi appunto perchè voglio metterci dentro una JProgressBar.
    C'è qualcuno che potrebbe aiutarmi??
    Grazie!

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

    Re: Problema JFileChooser!!! HELP!!

    Originariamente inviato da fashionprivate
    Nel senso che quando l'utente ha premuto sul pulsante Apri del JFileChooser mi si apre si il JDialog ma vuoto!! Il pulsante compare dopo la if esterna (if (returnVal == JFileChooser.APPROVE_OPTION) ... ).
    E non riesco a capire per quale motivo! Le ho provate veramente tutte!
    Vorrei non fosse vuoto il JDialog in quei pochoi secondi appunto perchè voglio metterci dentro una JProgressBar.
    Creare un JDialog e inserire al suo interno un componente come JProgressBar .... non sarebbe quello il problema. Le vere questioni sono riguardo il "threading" in Swing. Tutte quelle operazioni che stai facendo adesso le stai eseguendo nel contesto del EDT (event dispatch thread). E visto che stai tenendo tu impegnato il EDT .... la tua interfaccia è completamente "congelata", pertanto nulla si può aggiornare a video!
    La soluzione è eseguire il lavoro "lungo" in un thread separato e gestire appropriatamente l'aggiornamento della interfaccia utente (che invece va fatto nel contesto del EDT, salvo casi particolari documentati).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ok, grazie, allora ho capito qual'è il problema, dovrei usare i thread che per ora non ho mai usato... Vbb, mi informerò a riguardo...
    Grazie ancora....

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Prendi visione anche del Regolamento interno: titoli delle discussioni, posting del codice e quant'altro.


    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

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.