Salve il mio problema è proprio questo: ho un bottone "comincia" e uno "stop", ma il pulsante di stop è inutilizzabile, perché quando viene premuto il pulsante comincia, fino alla fine del thread tutte le interfacce, perfino seconde finestre.
Eppure ho usato i thread, t1 è un thread e l'interfaccia stessa è un altro thread. Com'è possibile?
Ho anche usato invokeLater che mi hanno detto dovrebbe risolvere il problema, ma non ho capito bene come funziona.
Il resto del codice non ha nulla di significativo, se c'è bisogno chiedete pure...
Queste sono inner class nella classe dell'interfaccia.
codice:public class ApriListener implements ActionListener{ private File scelta; public void actionPerformed(ActionEvent e){ sceltafile.setVisible(true); if ((sceltafile.getFile())!=null) scelta = new File(sceltafile.getDirectory() + "/" + sceltafile.getFile()); t1=new Riproduzione (scelta); t1.start(); } } public class ChiudiListener implements ActionListener{ public void actionPerformed(ActionEvent e){ t1.fermati(); } } public class CominciaListener implements ActionListener{ public void actionPerformed(ActionEvent e){ SwingUtilities.invokeLater(new Runnable() { public void run() { t1.comincia(); } }); //t1.comincia(); } }

Rispondi quotando