Java Reference
In-Depth Information
EXAMPLE: (continued)
When a button is clicked, the actionPerformed method is invoked with the action
event fired as the argument to actionPerformed . The method actionPerformed recov-
ers the string written on the button with the following line:
String buttonString = e.getActionCommand();
The method actionPerformed then uses a multiway if-else statement to determine
if buttonString is "Green" , "White" , or "Gray" and changes the color of the corre-
sponding panel accordingly. It is common for an actionPerformed method to be
based on such a multiway if-else statement, although we will see another approach
in the subsection entitled “Listeners as Inner Classes” later in this chapter.
Display 17.11 also introduces one other small but new technique. We gave each
button a color. We did this with the method setBackground , using basically the same
technique that we used in previous examples. You can give a button or almost any
other item a color using setBackground . Note that you do not use getContentPane
when adding color to any component other than a JFrame .
Display 17.11 Using Panels (part 1 of 4)
In addition to being the GUI class, the
class PanelDemo is the action listener
class. An object of the class PanelDemo
is the action listener for the buttons in
that object.
1
import javax.swing.JFrame;
2
import javax.swing.JPanel;
3
import java.awt.BorderLayout;
4
import java.awt.GridLayout;
5
import java.awt.FlowLayout;
6
import java.awt.Color;
7
import javax.swing.JButton;
8
import java.awt.event.ActionListener;
9
import java.awt.event.ActionEvent;
10
public class PanelDemo extends JFrame implements ActionListener
11
{
12
public static final int WIDTH = 300;
13
public static final int HEIGHT = 200;
We made these instance variables
because we want to refer to them in
both the constructor and the
method actionPerformed .
14
private JPanel greenPanel;
15
private JPanel whitePanel;
16
private JPanel grayPanel;
17
public static void main(String[] args)
18
{
19
PanelDemo gui = new PanelDemo();
20
gui.setVisible(true);
21
}
(continued)
Search WWH ::




Custom Search