Anonymous Class

Example:
pic1

start
pic2

press "add 1" 9 times
pic2

press "subtract 1" once
pic1

press "reset to 0"

AnonymousTest.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class AnonymousTest extends JFrame {
    // create 4 components, 3 buttons and one label
    private JButton addButton = new JButton("add 1");
    private JButton subtractButton = new JButton("subtract 1");
    private JButton resetButton = new JButton("Reset to 0");
    private JLabel countLabel = new JLabel("0", JLabel.CENTER);
    // count
    private int count = 0;
    // contentPane
    private Container contentPane = getContentPane();
    
    public AnonymousTest() {
        // set layout
        contentPane.setLayout(new GridLayout(4,1));
        // add components to the frame
        contentPane.add(addButton);
        contentPane.add(subtractButton);
        contentPane.add(resetButton);
        contentPane.add(countLabel);
        
        addButton.addActionListener(
            // anonymous class
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                   count++;
                   countLabel.setText(Integer.toString(count));
                }
           }// end of anonymous class
        );
        
        subtractButton.addActionListener(
            // anonymous class
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                   count--;
                   countLabel.setText(Integer.toString(count));
                }
           }// end of anonymous class
        );
        
        resetButton.addActionListener(
            // anonymous class
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                   count = 0;
                   countLabel.setText(Integer.toString(count));
                }
           }// end of anonymous class
        );
        
    }
    
    
    public static void main(String[] args) {
        AnonymousTest f = new AnonymousTest();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.pack();
        f.setVisible(true);
    }
}
Syntax
new ClassName() { 
   // your codes
   // override methods
}

Example:
new ActionListener() {
   public void actionPerformed(ActionEvent e) {
      // codes
   }
}