Guten Tag
Ich will exemplarisch den Text eines JButtons 2 Mal nacheinander ändern (mit einer kleinen Pause dazwischen). Solange ich dies ausserhalb des ActionListeners mache, funktioniert es perfekt. Wenn ich den Code in den ActionListener / actionPerformed einbaue, zeigt er mir die erste Textänderung nicht mehr an (es sieht so aus, als würde er nur die Pause und die zweite Textänderung machen).
Ich habe das Gefühl es hängt entweder mit dem Repaint-Aufruf oder mit der Sichtbarkeit des Buttons innerhalb von actionPerformed zusammen. Aber ich komme nicht darauf.
Danke für eure Hilfe.
Gruss
Ich will exemplarisch den Text eines JButtons 2 Mal nacheinander ändern (mit einer kleinen Pause dazwischen). Solange ich dies ausserhalb des ActionListeners mache, funktioniert es perfekt. Wenn ich den Code in den ActionListener / actionPerformed einbaue, zeigt er mir die erste Textänderung nicht mehr an (es sieht so aus, als würde er nur die Pause und die zweite Textänderung machen).
Ich habe das Gefühl es hängt entweder mit dem Repaint-Aufruf oder mit der Sichtbarkeit des Buttons innerhalb von actionPerformed zusammen. Aber ich komme nicht darauf.
Danke für eure Hilfe.
Gruss
Java:
public class Fenster extends JFrame {
private JPanel contentPane;
public Fenster() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
setContentPane(contentPane);
JButton meinButton = new JButton("New button");
contentPane.add(meinButton);
setVisible(true);
meinButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource()==meinButton) {
meinButton.setText("aaaa");
meinButton.repaint();
try {
TimeUnit.MILLISECONDS.sleep(1000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
meinButton.setText("bbbb");
meinButton.repaint();
}
}
});
}
}