![]() start |
![]() press "add 1" 9 times |
![]() press "subtract 1" once |
![]() press "reset to 0" |
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);
}
}
count and countLabel.
new ClassName() {
// your codes
// override methods
}
Example:
new ActionListener() {
public void actionPerformed(ActionEvent e) {
// codes
}
}
|