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