47    

new

 ActionListener() 

// clase interna anónima

 

48    

{

 49 

     

// muestra cuadro de diálogo de mensaje cuando el usuario selecciona Acerca 
de...

 

50     

public void

 actionPerformed( ActionEvent evento )

 

51     

{

 52 

     

JOptionPane.showMessageDialog( MarcoMenu.

this

,

 53 

      

"Este es un ejemplo\ndel uso de menus",

 54 

      

"Acerca de", JOptionPane.PLAIN_MESSAGE

 );

 

55     

}

// fin del método actionPerformed

 

56    

}

 // fin de la clase interna anónima

 57  

 

);

// fin de la llamada a addActionListener

 58 
 59  

 

JMenuItem elementoSalir = 

new

 JMenuItem( 

"Salir"

);

// crea el elemento salir

 60  

 

elementoSalir.setMnemonic(

'S'

);

 // establece el nemónico a S

 61  

 

menuArchivo.add( elementoSalir ); 

// agrega elemento salir al menú archivo

 62  

 

elementoSalir.addActionListener(

 63 
 

64    

new

 ActionListener()

 // clase interna anónima

 

65    

{

 

66     

// termina la aplicación cuando el usuario hace clic en elementoSalir

 

67     

public void

 actionPerformed( ActionEvent evento )

 

68     

{

 69 

     

System.exit(

0

);

// sale de la aplicación

 

70     

}

// fin del método actionPerformed

 

71    

}

// fin de la clase interna anónima

 72  

 

);

// fin de la llamada a addActionListener

 73 
 74  

 

JMenuBar barra = 

new

 JMenuBar();

 // crea la barra de menús

 75  

 

setJMenuBar( barra ); 

// agrega la barra de menús a la aplicación

 76  

 

barra.add( menuArchivo ); 

// agrega el menú archivo a la barra de menús

 77 
 78  

 

JMenu menuFormato = 

new

 JMenu( 

"Formato"

 );

 // crea el menú formato

 79  

 

menuFormato.setMnemonic(

'F'

);

 // establece el nemónico a F

 80 
 81  

 

// arreglo que enlista la cadena colores

 82  

 

String colores[] = { 

"Negro"

,

"Azul"

,

"Rojo"

,

"Verde"

 };

 83 
 84  

 

JMenu menuColor = 

new

 JMenu( 

"Color"

);

// crea el menú color

 85  

 

menuColor.setMnemonic(

'C'

 );

 // establece el nemónico a C

 86
 87  

 

// crea los elementos de menú de los botones de opción para los colores

 88  

 

elementosColores = 

new

 JRadioButtonMenuItem[ colores.length ];

 89  

 

coloresButtonGroup = 

new

 ButtonGroup(); 

// administra los colores

 

90    

ManejadorElementos manejadorElementos = 

new

 ManejadorElementos(); 

// manejador 

para colores

 91 
 92  

 

// crea los elementos de menú del botón de opción color

 93  

 

for

 ( 

int

 cuenta = 

0

; cuenta < colores.length; cuenta++ ) 

 94  

 

{

 

95    

elementosColores[ cuenta ] = 

 

96     

new

 JRadioButtonMenuItem( colores[ cuenta ] ); 

// crea elemento

 

97    

menuColor.add( elementosColores[ cuenta ] ); 

// agrega elemento al menú color

 

98    

coloresButtonGroup.add( elementosColores[ cuenta ] ); 

// lo agrega al grupo

 

99    

elementosColores[ cuenta ].addActionListener( manejadorElementos );

 100 

 

 

}

 // fin de for

 101
 102 

 

 

 

elementosColores[

0

 ].setSelected( 

true

 );

 // selecciona el primer elemento de Color

 103

Figura 22.5

  |  Objetos 

JMenu

 y nemónicos. (Parte 2 de 4).

22.4 Uso de menús con marcos 

891

22_MAQ_CAP_22_DEITEL.indd891

4/19/081:17:06AM