Hallo,
Ich habe ein Programm geschrieben, welches ein JFrame, JPanel und JButton enthält.
Beim Klick auf den Button soll der Button zunächst seinen Text in "Wurde geklickt" ändern und sich bzw. das Programm anschließend in 3 Sekunden beenden.
Das Problem ist nun, dass wenn ich auf den Button klicke, der Button seinen Text nicht ändert und außerdem dann während diese 3 Sekunden ablaufen, der Button so seltsam runtergedrückt ist...
Mache ich das ganze ohne die 3 Sekunden Wartezeit + Programm beenden, dann ändert der Button seinen Text problemlos...
Wo liegt das Problem?
Ich habe ein Programm geschrieben, welches ein JFrame, JPanel und JButton enthält.
Beim Klick auf den Button soll der Button zunächst seinen Text in "Wurde geklickt" ändern und sich bzw. das Programm anschließend in 3 Sekunden beenden.
Das Problem ist nun, dass wenn ich auf den Button klicke, der Button seinen Text nicht ändert und außerdem dann während diese 3 Sekunden ablaufen, der Button so seltsam runtergedrückt ist...
Mache ich das ganze ohne die 3 Sekunden Wartezeit + Programm beenden, dann ändert der Button seinen Text problemlos...
Wo liegt das Problem?
Java:
`package k;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class App extends JFrame {
public static void main(String[] args) {
final App f1 = new App();
f1.setSize(300, 300);
f1.setLocationRelativeTo(null);
f1.setVisible(true);
final JPanel p1 = new JPanel();
f1.add(p1);
final JButton b1 = new JButton("Button 1");
f1.setLayout(new FlowLayout());
p1.add(b1);
ActionListener a = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
b1.setText("Wurde geklickt");
if(b1.getText()=="Wurde geklickt") {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
}
System.exit(0);
}
}
};
b1.addActionListener(a);
}
}