Ich habe dieses Programm geschrieben, habe auch schon in vielen Erklärungen nach Antworten gesucht, aber ich finde die Lösung nicht. Was mache ich falsch?
Java:
package package_countdown;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.Timer;
import javax.swing.border.EmptyBorder;
public class Countdown extends JFrame {
private static final long serialVersionUID = 8976602215370097484L;
private JPanel panel;
public static int counterValue = 60;
public static Timer timer;
public static void main(String[] args){
Countdown frame = new Countdown();
frame.setVisible(true);
}
public Countdown() {
setTitle("Countdown");
setBounds(100,100,300,250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
panel.setBorder(new EmptyBorder(5,5,5,5));
panel.setLayout(null);
setContentPane(panel);
final JLabel lbl = new JLabel();
panel.add(lbl);
lbl.setBounds(125,125,90,25);
Timer timer = new Timer(1000, new ActionListener() { //1000ms = 1s
public void actionPerformed(ActionEvent e) {
counterValue--;
if(counterValue == 0){
lbl.setText(Integer.toString(counterValue));
JOptionPane.showMessageDialog(panel, "Der Countdown ist beendet.", "Beendet!",
JOptionPane.INFORMATION_MESSAGE);
}
}
});
}
}