Spero che qualcuno di voi sicuramente più esperto di me in materia Java mi possa essere d'aiuto.
Premetto che ho cercato parecchio su internet e nei vari forum ma non sono riuscito a risolvere il mio problema.
Ora arrivo al dunque:
sto creando un programma con interfaccia grafica Swing. Voglio realizzare una chiamata di thread tramite JButton da frame principale e in questo thread sarà creato una piccola JDialog in cui sono presenti una JProgressBar che si caricherà di 10 ogni mezzo secondo e sotto la JProgressBar una label con scritta "caricamento".
Riesco a realizzare la finestra e tutto, ma ho un problema durante il caricamento, si visualizza la finestra vuota e non c'e traccia ne di label ne di progress in caricamento. La finestra completa viene visualizzata solo alla fine del caricamento.
Ho provato in mille modi ma nessuna soluzione :'( :'( :'( :'(
Quindi chiedo a voi come posso fare. Vi posto il codice del thread in maniera tale che possiate darmi una mano.
Codice: Seleziona tutto
//COSTRUZIONE THREAD CON PROGRESBAR
class ThreadCreation{
public ThreadCreation () {
Thread t = Thread.currentThread();
t.setName("Thread Principale");
t.setPriority(10);
JProgressBar progressBar = new JProgressBar(0,100);
JDialog frame = new JDialog();
frame.setResizable(false);
JLabel lbl = new JLabel("Caricamento...");
JPanel pnlProgress = new JPanel();
pnlProgress.setPreferredSize(new Dimension(200,40));
pnlProgress.add(progressBar);
pnlProgress.add(lbl);
frame.add(pnlProgress);
frame.pack();
frame.setLocation(250,250);
frame.setVisible(true);
for (int n = 10; n > 0; n--) {
try {
t.sleep(500);
}catch (InterruptedException e) {}
progressBar.setValue(progressBar.getValue()+10);
}
}
}
