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();
    }
}