Ich versuche, einen JDialog zu erstellen, der dem Benutzer eine dynamische Nachricht auf einem JLabel anzeigt. Die Nachricht sollte eine Zahl von 1 bis 10 sein (und sie sollte jede Sekunde eine Zahl ändern). die Sache ist, wenn es im Debuggen ist - es stoppt direkt nach dem "dia.setVisible (true);" und wird nicht fortfahren, wenn ich den JDialog nicht schließe. Gibt es eine Möglichkeit, es zu reparieren? Danke.Dynamischen JLabel-Text in einem JDialog nach Timer setzen
Werfen Sie einen Blick auf den Code:
@Override
public void run() {
dia = new JDialog(parentDialog, true);
dia.setLocationRelativeTo(parentFrame);
String text = "Text ";
dia.setSize(300, 150);
jl = new JLabel(text);
dia.getContentPane().add(jl);
dia.setVisible(true);
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(1000);
jl.setText(text + " " + i);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
SwingWorker ist definitiv eine bessere Alternative. Ich sollte versuchen, diese API ein für alle Mal zu lernen (nun, ich weiß es, aber ich habe es nie benutzt, also bin ich mir nie zu sicher) –