Hallo,
ich wollte eine kleine grafische Oberfläche machen wo ein Countdown abläuft, das ganze funktioniert auch. Nur wollte ich noch 2 Buttons einbauen mit denen man das ganze starten und stoppen kann, doch irgendwas funktioniert mit dem ActionListener und den Buttonereignissen nicht. Hier mein Code:
ich wollte eine kleine grafische Oberfläche machen wo ein Countdown abläuft, das ganze funktioniert auch. Nur wollte ich noch 2 Buttons einbauen mit denen man das ganze starten und stoppen kann, doch irgendwas funktioniert mit dem ActionListener und den Buttonereignissen nicht. Hier mein Code:
Code:
public class Countdown extends JFrame implements Runnable {
int c = 10;
private JButton b1;
private JButton b2;
public Countdown() {
setSize(300, 300);
setTitle("Countdown");
add(new MyPanel());
setVisible(true);
// startAnimation();
}
class MyPanel extends JPanel implements ActionListener {
MyPanel() {
setBackground(Color.lightGray);
setLayout(null);
JButton b1 = new JButton("Start");
b1.setBounds(50, 0, 75, 20);
b1.setBackground(Color.GREEN);
b1.addActionListener(this);
b1.setFocusable(true);
add(b1);
JButton b2 = new JButton("Stop");
b2.setBounds(150, 0, 75, 20);
b2.setBackground(Color.RED);
add(b2);
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.BLACK);
g.setFont(new Font("Arial", Font.BOLD, 50));
g.drawString("" + c, 120, 150);
--c;
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
System.out.println("Test");
startAnimation();
}
}
}
public void run() {
while (c >= 0) {
repaint();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
public void startAnimation() {
Thread t = new Thread(this);
t.start();
}
public static void main(String[] args) {
new Countdown();
}
}