MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class MainClass extends JFrame {
    public static void main(String[] args) {
        new MainClass();
    }

    private JButton button1 = new JButton("Click Me!"), exitButton = new JButton("Exit");

    public MainClass() {
        this.setSize(275, 100);
        this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

        ClickListener cl = new ClickListener();

        JPanel panel1 = new JPanel();

        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                exitButton.doClick();
            }
        });

        button1.addActionListener(cl);
        panel1.add(button1);

        exitButton.addActionListener(cl);
        panel1.add(exitButton);
        this.add(panel1);

        this.setVisible(true);
    }

    private class ClickListener implements ActionListener {
        private int clickCount = 0;

        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == button1) {
                clickCount++;
                if (clickCount == 1)
                    button1.setText("clicked!");
                else
                    button1.setText("clicked " + clickCount + " times!");
            } else if (e.getSource() == exitButton) {
                if (clickCount > 0)
                    System.exit(0);
                else {
                    JOptionPane.showMessageDialog(MainClass.this, "You must click at least once!", "Title",
                            JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    }
}