ciao!!
allora, l'esempio che ho postato sopra funziona, ed è già in un altro thread.
solo che funziona da sola.
cioè.
io vorre fare questo: quando clicco sul bottone mi parte il riempimento, poi la connessione al db con successiva query che riempie una jtable, una volta finito stoppo il thread della progressbar.
solo che mi succede che la barra comincia a riempirsi solo dopo che la connessione è avvenuta, non durante.
riposto la classe della progressbar con una correzione:
codice:
public class SetProgressBar extends Thread {
private static int DELAY = 500;
JProgressBar progressBar;
public SetProgressBar(JProgressBar bar) {
progressBar = bar;
}
@Override
public void run() {
int minimum = progressBar.getMinimum();
int maximum = progressBar.getMaximum();
Runnable runner;
runner = new Runnable() {
@Override
public void run() {
int value = progressBar.getValue();
progressBar.setValue(value + 1);
}
};
for (int i = minimum; i < maximum; i++) {
try {
SwingUtilities.invokeLater(runner);
Thread.sleep(DELAY);
} catch (InterruptedException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
}
}
}
}
poi nel bottone eseguo questo:
codice:
Thread t = new SetProgressBar(pBar);
doConnection(); // METODO DI CONNESSIONE AL DB E QUERYT PER JTABLE
pBar.setValue(pBar.getMaximum);
il riempimento non funziona in concomitanza con il metodo doconnection();