Vi posto in breve il mio codice all'interno del frame principale
codice:
EstrazioneDati ed = new EstrazioneDati(this);
this.progressBar= new ProgressBar();
ProgressBar.setDefaultLookAndFeelDecorated(true);
this.progressBar.setSize(200, 200);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension windowSize = this.progressBar.getSize();
this.progressBar.setLocation(Math.max(0,
(screenSize.width
- windowSize.width) / 2),
Math.max(0,
(screenSize.height
- windowSize.height) / 2));
this.progressBar.setVisible(true);
ed.addPropertyChangeListener(this.progressBar);
//avvio l'estrazione dei dati
ed.execute();
while(!ed.isDone()){}
this.progressBar.dispose();
dove EstrazioneDati estende SwingWorker (e fa l'elaborazione) e ProgressBar implementa PropertyChangeListener.
La mia domanda è:
Perché la riga di codice in EstrazioneDati
codice:
this.setProgress( progress);
non chiama il metodo in ProgressBar
codice:
public void propertyChange(PropertyChangeEvent evt)
?
Grazie