El constructor (líneas 15 a 46) crea la GUI. En la línea 19 se crea un objeto
JTabbedPane
vacío con la confi -
guración predeterminada (es decir, fi chas en la parte superior). Si las fi chas no se ajustan en una línea, pasarán a la
siguiente para formar líneas adicionales de fi chas. A continuación, el constructor crea los objetos
JPanelpanel1
,
panel2
y
panel3
, junto con sus componentes de la GUI. A medida que confi guramos cada panel, lo agregamos al
objeto
panelConFichas
utilizando el método
addTab
de
JTabbedPane
con cuatro argumentos. El primer argu-
mento es una cadena que especifi ca el título de la fi cha. El segundo es una referencia
Icon
que especifi ca un icono
a mostrar en la fi cha. Si el objeto
Icon
es una referencia
null
, no se muestra una imagen. El tercer argumento es
una referencia
Component
que representa el componente de la GUI a mostrar cuando el usuario hace clic en la
fi cha. El último argumento es una cadena que especifi ca el cuadro de información sobre herramientas de la fi cha.
Por ejemplo, en la línea 25 se agrega el objeto
JPanelpanel1
al objeto
panelFichas
con el título
"Ficha uno"
y la información sobre herramientas
"Primerpanel"
. Los objetos
JPanelpanel2
y
panel3
se agregan a
panel-
Fichas
en las líneas 32 y 43. Para ver cada una de las fi chas, haga clic en la fi cha deseada con el ratón o utilice las
teclas de dirección para avanzar por cada una de las fi chas.
Figura 22.13
| Uso de un objeto
JTabbedPane
para organizar los componentes de una GUI. (Parte 2 de 2).
15
public
MarcoJTabbedPane()
16
{
17
super
(
"Demo de JTabbedPane "
);
18
19
JTabbedPane panelFichas =
new
JTabbedPane();
// crea objeto JTabbedPane
20
21
// establece pane11 y lo agrega al objeto JTabbedPane
22
JLabel etiqueta1 =
new
JLabel(
"panel uno"
,
SwingConstants.CENTER
);
23
JPanel panel1 =
new
JPanel();
// crea el primer panel
24
panel1.add( etiqueta1 );
// agrega etiqueta al panel
25
panelFichas.addTab(
"Ficha uno"
,
null
, panel1,
"Primer panel"
);
26
27
// establece panel2 y lo agrega al objeto JTabbedPane
28
JLabel etiqueta2 =
new
JLabel(
"panel dos"
,
SwingConstants.CENTER
);
29
JPanel panel2 =
new
JPanel();
// crea el segundo panel
30
panel2.setBackground(
Color.YELLOW
);
// establece el color de fondo en amarillo
31
panel2.add( etiqueta2 );
// agrega etiqueta al panel
32
panelFichas.addTab(
"Ficha dos"
,
null
, panel2,
"Segundo panel"
);
33
34
// establece panel3 y lo agrega al objeto JTabbedPane
35
JLabel
etiqueta3
=
new
JLabel(
"panel tres"
);
36
JPanel
panel3
=
new
JPanel();
// crea el tercer panel
37
panel3.setLayout(
new
BorderLayout() );
// usa esquema Borderlayout
38
panel3.add(
new
JButton(
"Norte"
),
BorderLayout.NORTH
);
39
panel3.add(
new
JButton(
"Oeste"
),
BorderLayout.WEST
);
40
panel3.add(
new
JButton(
"Este"
),
BorderLayout.EAST
);
41
panel3.add(
new
JButton(
"Sur"
),
BorderLayout.SOUTH
);
42
panel3.add(
etiqueta3,
BorderLayout.CENTER
);
43
panelFichas.addTab(
"Ficha tres"
,
null
, panel3,
"Tercer panel"
);
44
45
add(
panelFichas
);
// agrega objeto JTabbedPane al marco
46
}
// fin del constructor de MarcoJTabbedPane
47
}
// fin de la clase MarcoJTabbedPane
1
// Fig. 22.14: DemoJTabbedPane.java
2
// Demostración de JTabbedPane.
3
import
javax.swing.JFrame;
4
Figura 22.14
| Clase de prueba para
MarcoJTabbedPane
. (Parte 1 de 2).
22.8
JTabbedPane
907
22_MAQ_CAP_22_DEITEL.indd907
4/19/081:17:15AM