college/ss2010/gdi2/java/libs/acm/demo/StoplightUsingInnerClasses.java
2013-12-19 19:05:28 +01:00

49 lines
1.4 KiB
Java

/*
* File: StoplightUsingInnerClasses.java
* -------------------------------------
* This program is identical to StoplightConsole except that the
* listener is specified explicitly using an anonymous inner class.
*/
import acm.program.*;
import java.awt.event.*;
import javax.swing.*;
/**
* This class displays three buttons at the south edge of the window.
* The name of the button is echoed on the console each time a button
* is pressed.
*/
public class StoplightUsingInnerClasses extends ConsoleProgram {
/** Initialize the GUI */
public void init() {
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
println(e.getActionCommand());
}
};
JButton greenButton = new JButton("Green");
JButton yellowButton = new JButton("Yellow");
JButton redButton = new JButton("Red");
greenButton.addActionListener(listener);
yellowButton.addActionListener(listener);
redButton.addActionListener(listener);
add(greenButton, SOUTH);
add(yellowButton, SOUTH);
add(redButton, SOUTH);
}
/** Set the program dimensions */
public static final int APPLICATION_WIDTH = 350;
public static final int APPLICATION_HEIGHT = 250;
/* Standard Java entry point */
/* This method can be eliminated in most Java environments */
public static void main(String[] args) {
new StoplightUsingInnerClasses().start(args);
}
}