Hallo,
versuche hier testweise einen Jbutton zu bauen, dessen Beschriftung nach dem drücken im Sekundentakt herunterzählt. Aber aus irgendeinem Grund funktoniert das nicht. Help me!
[Java]
import javax.swing.*;
import java.awt.event.*;
public class einfacheGui implements ActionListener {
JButton myButton = new JButton("MyButton");
public void init() {
JFrame myFrame = new JFrame();
myFrame.getContentPane();
myFrame.add(myButton);
myFrame.setSize(300,300);
myFrame.setVisible(true);
myButton.addActionListener(this);
}
public void actionPerformed(ActionEvent ev) {
for(int i = 5; i>0; i--) {
// hier soll der Text im Button geändert werden,
// aber aus irgendeinen Grund funktioniert das nicht
myButton.setText(Integer.toString(i));
try{
// Eine 1-sekündige Pause, damit die Schleife im Sekundentakt zählt
Thread.sleep(1000);
}
catch (Exception e) {
System.out.println("Thread-sleep funzt net");
}
}
// außerhalb der Schleiufe funktioniert 'setText'
myButton.setText("pushed");
}
}
[/Java]
und hier die ausführende Klasse:
[Java]
public class TestMain {
public static void main (String[] args) {
einfacheGui myGui = new einfacheGui();
myGui.init();
}
}
[/Java]
Ich zermartere mir haupstsächlich über Zeile 19 den Kopf, denn alles andere funktioniert. Hab auch schon mal ne System.out.println(i) in die Schleife mit eingebaut. In der Konsole zählt er auch anständig im Sekundentakt runter.
Danke schonmal!
versuche hier testweise einen Jbutton zu bauen, dessen Beschriftung nach dem drücken im Sekundentakt herunterzählt. Aber aus irgendeinem Grund funktoniert das nicht. Help me!
[Java]
import javax.swing.*;
import java.awt.event.*;
public class einfacheGui implements ActionListener {
JButton myButton = new JButton("MyButton");
public void init() {
JFrame myFrame = new JFrame();
myFrame.getContentPane();
myFrame.add(myButton);
myFrame.setSize(300,300);
myFrame.setVisible(true);
myButton.addActionListener(this);
}
public void actionPerformed(ActionEvent ev) {
for(int i = 5; i>0; i--) {
// hier soll der Text im Button geändert werden,
// aber aus irgendeinen Grund funktioniert das nicht
myButton.setText(Integer.toString(i));
try{
// Eine 1-sekündige Pause, damit die Schleife im Sekundentakt zählt
Thread.sleep(1000);
}
catch (Exception e) {
System.out.println("Thread-sleep funzt net");
}
}
// außerhalb der Schleiufe funktioniert 'setText'
myButton.setText("pushed");
}
}
[/Java]
und hier die ausführende Klasse:
[Java]
public class TestMain {
public static void main (String[] args) {
einfacheGui myGui = new einfacheGui();
myGui.init();
}
}
[/Java]
Ich zermartere mir haupstsächlich über Zeile 19 den Kopf, denn alles andere funktioniert. Hab auch schon mal ne System.out.println(i) in die Schleife mit eingebaut. In der Konsole zählt er auch anständig im Sekundentakt runter.
Danke schonmal!