import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
//import java.lang.*;
import javax.swing.JOptionPane;
public class FirstGUI2026 implements java.awt.event.ActionListener, Runnable {
JFrame frame;
JButton button2;
int sec = 10;
Thread thread;
JButton timerButton;
public FirstGUI2026() {
frame = new JFrame("First GUI 2026");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
frame.setLayout(new FlowLayout());
JButton button = new JButton("Click Me");
button.addActionListener(this);
frame.getContentPane().add(button);
button2 = new MyButton("Java");
button2.addActionListener(this);
frame.getContentPane().add(button2);
timerButton = new JButton("Timer: " + sec);
frame.getContentPane().add(timerButton);
timerButton.addActionListener(e -> { thread = new Thread(FirstGUI2026.this) ; thread.start(); });
timerButton.addActionListener(System.out::println);
// timerButton.addActionListener(new ActionListener(){
// public void actionPerformed(ActionEvent e){
// thread = new Thread(FirstGUI2026.this);
// thread.start();
// }
// });
}
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println(e.getActionCommand()+" button clicked!");
frame.pack();
// button2.setPreferredSize(new Dimension(200,100));
}
public static void main(String[] args) {
new FirstGUI2026();
}
@Override
public void run() {
while (sec > 0) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
sec--;
timerButton.setText("Timer: " + sec);
}
JOptionPane.showMessageDialog(frame, "Time's up!");
thread = null;
sec = 10;
timerButton.setText("Timer: " + sec);
}
}
// class MyButton extends JButton {
// public MyButton(String text) {
// super(text);
// }
// public Dimension getPreferredSize() {
// return new Dimension(200, 100);
// }
// }