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