![]() |
This program combines components (eg, buttons) and drawing.
The Sleeper panel is used for graphics. In addition
to its public constructor, it also has a public method,
setAwake(...), that sets the state of the face to
either asleep or awake. This method is called to cause the
face to change.
|
// Sleepy.java - Face with buttons -- Fred Swartz 2002-11-15 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*;
/////////////////////////////////////////////////////////// class Sleepy
class Sleepy {
//================================================== method main
public static void main(String[] args) {
JFrame windo = new JFrame("Sleepy");
windo.getContentPane().add(new SleepyPanel());
windo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
windo.pack();
windo.show();
}//end main
}//end class Sleepy
////////////////////////////////////////////////////// class SleepyPanel
class SleepyPanel extends JPanel {
private Sleeper face = new Sleeper();
//================================================== constructor
SleepyPanel() {
//--- Create some buttons
JButton awakeButton = new JButton("Awake");
awakeButton.addActionListener(
new ActionListener() {
//========================================= listener
public void actionPerformed(ActionEvent e) {
face.setAwake(true);
}//end listener
}
);
JButton asleepButton = new JButton("Asleep");
asleepButton.addActionListener(