Hallo,
ich hänge gerade und komme leider nicht weiter. Da Swing nicht threadsafe ist nehme ich immer SwingUtilities.invokeLater(new Runnable ...) mache einen neuen Thread und schreibe dort meinen Code.
Ich möchte nun, dass sich jede Sekunde der Wert eines Spinners auf eine Zufallszahl ändert. Ich dachte eigentlich, dass der neue Thread das dann separat ausführen kann und die GUI nicht mehr blockiert ist.
Das ist aber nicht der Fall, das ganze Fenster hängt sich trotzdem auf.
ich hänge gerade und komme leider nicht weiter. Da Swing nicht threadsafe ist nehme ich immer SwingUtilities.invokeLater(new Runnable ...) mache einen neuen Thread und schreibe dort meinen Code.
Ich möchte nun, dass sich jede Sekunde der Wert eines Spinners auf eine Zufallszahl ändert. Ich dachte eigentlich, dass der neue Thread das dann separat ausführen kann und die GUI nicht mehr blockiert ist.
Das ist aber nicht der Fall, das ganze Fenster hängt sich trotzdem auf.
Java:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
SecureRandom secRan = new SecureRandom();
for (int i = 0; i < 10; i++) {
jSpinner1.setValue(secRan.nextInt(89999) + 10000);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(Obj.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
});
}
Zuletzt bearbeitet: