Hallo zusammen,
wie bekomme ich es hin, dass mein Programm nach 5 Sekunden automatisch ein Dialogfeld öffnet wenn ein Button nicht gedrückt wurde?
Momentan habe ich einen Timer erstellt der 5 Sekunden läuft und nachdem der Button gedrückt wurde, wird er gestoppt.
Jedoch weiß ich nicht wie ich es umsetzen soll, dass nach Ablauf des Timers ein Dialogfeld geöffnet wird.
Danke im Voraus für Antworten
wie bekomme ich es hin, dass mein Programm nach 5 Sekunden automatisch ein Dialogfeld öffnet wenn ein Button nicht gedrückt wurde?
Momentan habe ich einen Timer erstellt der 5 Sekunden läuft und nachdem der Button gedrückt wurde, wird er gestoppt.
Jedoch weiß ich nicht wie ich es umsetzen soll, dass nach Ablauf des Timers ein Dialogfeld geöffnet wird.
Danke im Voraus für Antworten
Code:
public class DontScrewUp implements ActionListener{
JButton b1;
public static void main(String[] args) {
(new DontScrewUp()).go();
}
private void go() {
z1=0;
f=new JFrame();
f.setSize(1000,800);
f.setLayout(new BorderLayout());
f.setResizable(false);
f.setTitle("Don't Screw Up!");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pnlInhalt = new JPanel();
pnlInhalt.setLayout(null);
f.add(pnlInhalt, BorderLayout.CENTER);
zeigeAufgabe();
}
public void zeigeAufgabe(){
//Inhalt leeren
pnlInhalt.removeAll();
//neuen Inhalt hinzufügen
int e = (int)((Math.random()) * 7 + 1);
if(e == 1){
b1=new JButton();
b1.setBounds(330, 450, 300, 100);
b1.setText("1");
b1.addActionListener(this);
pnlInhalt.add(b1);
tf1=new JTextField();
tf1.setBounds(100, 300, 800, 70);
tf1.setText("Drücke den Knopf 1x!");
Font font1 = new Font("SansSerif", Font.BOLD, 28);
tf1.setFont(font1);
tf1.setHorizontalAlignment(JTextField.CENTER);
tf1.setEditable(false);
Timer t1 = new Timer();
t1.schedule(new TimerTask() {
public void run() {
System.out.println("Timer läuft");
}
},5*10);
pnlInhalt.add(tf1);
pnlInhalt.repaint();
}
f.setVisible(true);
}
public void actionPerformed(ActionEvent a) {
String cmd1 = a.getActionCommand();
if(cmd1 == "1"){
z1=z1+1;
if(z1==1){
b1.setEnabled(false);
punktzahlAnzeigen();
pnlInhalt.repaint();
zeigeAufgabe();
t1.cancel();
}
}
}