ColorButtons.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
A short example of an anonymous inner class and event handling.
*/
class ColorButtons extends JFrame
{
// Just plop the main() method right in the frame class...
public static void main(String argv[])
{
ColorButtons f = new ColorButtons();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
}
public ColorButtons()
{
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension ss = kit.getScreenSize();
setSize(ss.width/3,ss.height/6);
setLocation(ss.width/4,ss.height/4);
setTitle("CISC370-011 -- inner classes and events");
ButtonPanel sp = new ButtonPanel();
Container contentPane = getContentPane();
contentPane.add(sp);
}
}
class ButtonPanel extends JPanel
{
public ButtonPanel() {
mkButton("Red",Color.RED);
mkButton("Yellow",Color.YELLOW);
mkButton("Green",Color.GREEN);
}
void mkButton(String name,final Color bg) {
JButton jb = new JButton(name);
add(jb);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{ setBackground(bg); }
});
}
}