Java Reference
In-Depth Information
can be placed on a tab. If the component is a container, such as a panel, it can use any
layout manager to lay out several components on the tab. Class
JTabbedPane
is a subclass
of
JComponent
. The application in Figs. 22.13-22.14 creates one tabbed pane with three
tabs. Each tab displays one of the
JPanel
s—
panel1
,
panel2
or
panel3
.
1
// Fig. 22.13: JTabbedPaneFrame.java
2
// Demonstrating JTabbedPane.
3
import
java.awt.BorderLayout;
4
import
java.awt.Color;
5
import
javax.swing.JFrame;
6
7
import
javax.swing.JTabbedPane;
import
javax.swing.JLabel;
8
import
javax.swing.JPanel;
9
import
javax.swing.JButton;
10
import
javax.swing.SwingConstants;
11
12
public
class
JTabbedPaneFrame
extends
JFrame
13
{
14
// set up GUI
15
public
JTabbedPaneFrame()
16
{
17
super
(
"JTabbedPane Demo "
);
18
19
JTabbedPane tabbedPane =
new
JTabbedPane();
// create JTabbedPane
20
21
// set up pane11 and add it to JTabbedPane
22
JLabel label1 =
new
JLabel(
"panel one"
,
SwingConstants.CENTER
);
23
JPanel panel1 =
new
JPanel();
24
panel1.add(label1);
25
tabbedPane.addTab(
"Tab One"
,
null
, panel1,
"First Panel"
);
26
27
// set up panel2 and add it to JTabbedPane
28
JLabel label2 =
new
JLabel(
"panel two"
,
SwingConstants.CENTER
);
29
JPanel panel2 =
new
JPanel();
30
panel2.setBackground(
Color.YELLOW
);
31
panel2.add(label2);
32
tabbedPane.addTab(
"Tab Two"
,
null
, panel2,
"Second Panel"
);
33
34
// set up panel3 and add it to JTabbedPane
35
JLabel label3 =
new
JLabel(
"panel three"
);
36
JPanel panel3 =
new
JPanel();
37
panel3.setLayout(
new
BorderLayout());
38
panel3.add(
new
JButton(
"North"
),
BorderLayout.NORTH
);
39
panel3.add(
new
JButton(
"West"
),
BorderLayout.WEST
);
40
panel3.add(
new
JButton(
"East"
),
BorderLayout.EAST
);
41
panel3.add(
new
JButton(
"South"
),
BorderLayout.SOUTH
);
42
panel3.add(label3,
BorderLayout.CENTER
);
43
tabbedPane.addTab(
"Tab Three"
,
null
, panel3,
"Third Panel"
);
44
45
add(tabbedPane);
// add JTabbedPane to frame
46
}
47
}
// end class JTabbedPaneFrame
Fig. 22.13
|
JTabbedPane
used to organize GUI components.