Sie sind auf Seite 1von 25

PRCTICA 4.

Utilizacin de Mens

Objetivo
Desarrollar una aplicacin con barras de mens, con mens contextuales y con
barra de herramientas.

Objetivos especficos:

Diseo de la interfaz grfica en un formulario de Java empleando Barra de


Men, Mens Contextuales y Barra de Herramientas.
Uso de varios formularios con JDialog.
Uso de diferentes contenedores de Java.

Introduccin
Muchas aplicaciones simples tienen un formulario y varios componentes, pero sin
lugar a dudas su aspecto puede ser mejorado significativamente utilizando mens
y barras de herramientas. Estos componentes son familiares para los usuarios de
interfaces grficas, por lo que resulta prcticamente indispensable el darle a
conocer a los desarrolladores de aplicaciones, el cmo incorporarlas en sus
proyectos.
Un men es una forma de proveer al usuario de un conjunto de rdenes
congruentes, agrupadas bajo un mismo ttulo. Adems cada opcin que aparezca
en la barra de mens, contar con su elemento correspondiente en la barra de
herramientas.
Las opciones en el men, al ser seleccionadas pueden mostrar cualquiera de tres
elementos: rdenes, submens y separadores. Cuando se hace clic en una orden
o se selecciona y se pulsa Enter, se ejecuta una accin o se despliega una caja de
dilogo. Cuando una orden es seguida por tres puntos (), es seal de que se
desplegar una caja de dilogo. Cuando se selecciona un submen, se despliega
una nueva lista de elementos. Un separador sirve para crear secciones de
elementos que los agrupen en funcin de sus actividades afines.
Para crear una barra de mens se dispone bsicamente de las clases JMenuBar,
JMenu y JMenuItem. La clase JMenuBar al ser arrastrada hacia un formulario, se
ubica automticamente en la parte superior del formulario y muestra dos opciones
por defecto, File y Edit. Ambas opciones estn vacas al inicio. A cada opcin se
Dr. Hernn de la Garza

Prctica 4 - 1

les van aadiendo los elementos que se consideren necesarios. Un paso posterior
es el asociar a cada elemento del men con una accin a realizar.
Una barra de herramientas es una ventana que normalmente contiene botones
grficos, aunque tambin puede contener otros componentes como son cajas de
texto o listas desplegables. Hacer clic en un elemento de la barra de herramientas,
produce los mismos eventos que la opcin equivalente en la barra de mens. El
contar con la barra de herramientas, permite realizar la tarea en una sola accin
sin tener que abrir la barra de mens. La clase principal que se utiliza es
JMenuBar.
Los mens contextuales o emergentes (popup men) se muestran al hacer clic en
el botn derecho del mouse o del trackpad. Estos mens estn asociados a un
componente. Para su construccin se utiliza la clase JpopupMenu, y una vez
creados utilizan los mismos elementos que las opciones en la barra de mens.

Correlacin con los temas y subtemas del programa de estudio vigente


Esta prctica se relaciona con la Unidad II en que se sigue trabajando con la
interfaz grfica, posibilitando que el alumno alcance un grado de dominio mayor y
por consecuencia desarrolle aplicaciones grficas con ms impacto visual, ms
intuitivas y ms amenas para el usuario final.
Se relaciona con la Unidad III en el uso de componentes visuales y no visuales. En
esta prctica se utilizan componentes que se muestran en el formulario como son
la barra de mens y la barra de herramientas. El men emergente permanece
oculto durante la ejecucin de un programa, pero est listo a mostrarse cuando el
usuario lo active por medio del botn derecho del mouse o del trackpad.
Material y equipo necesario

Computadora o laptop
Software: NetBeans 7.2 en adelante

Metodologa
Procederemos a utilizar los diferentes tipos de mens tomando como ejercicio el
desarrollo de un mini editor de texto, en el que se puedan realizar algunas de las
acciones comunes como son las de copiar, pegar, borrar, abrir archivo, guardar
archivo, y salir. Estas tareas podrn ser realizadas escogiendo una opcin del
men o bien directamente por un botn de la barra de herramientas.
Dr. Hernn de la Garza

Prctica 4 - 2

Paso 1. Crear un nuevo proyecto con el nombre de Practica4_Menus, cuidando de


desmarcar la casilla de verificacin del Create Main Class.
Paso 2. Aadimos un JFrame Form a nuestro proyecto, tal y como se ha realizado
en las prcticas anteriores. Asgnele de nombre Editor y modifique su Layout a
null.

Adems en el constructor de la forma, usamos el setSize() y el setTitle() para darle


tamao y poner un rtulo en el marco de la forma.
public class Editor extends javax.swing.JFrame {
public Editor() {
initComponents();
setSize(500,350);
setTitle("Editor");
}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Editor().setVisible(true);
}
});
}
Dr. Hernn de la Garza

Prctica 4 - 3

// Variables declaration - do not modify


// End of variables declaration
}

Paso 3. Aadir a la aplicacin una barra de mens y una barra de herramientas.


Para realizarlo localice en la paleta de componentes la categora Swing Menus y
de ah arrastre un componente Menu Bar. En la categora Swing Containers
encontrar el componente Tool Bar. Arrstrelo y colquelo debajo de la barra de
mens.

Paso 4. Se aadir un componente JTextArea que nos provee la capacidad de


escribir texto multilnea, que se corten las lneas al llegar al borde derecho e
inclusive que se corten las palabras. Este componente tiene la propiedad
autoScrolls la cual est en true por default, por lo que de ser necesarias se
mostrarn las barras de desplazamiento horizontal y vertical.
Cambiar nombre al JTextArea1 por el de jtaEditor.
Ejecute el programa tal como va hasta el momento y pruebe a escribir en el
TextArea.

Dr. Hernn de la Garza


Prctica 4 - 4

Puede constatar que no est activado el corte de lneas ya que cuando se alcanza
el borde derecho la lnea se contina escribiendo. Para activar que las lneas se
corten al llegar al borde, seleccione el componente TextArea y marque la
propiedad lineWrap (a true), con lo cual queda lista esta caracterstica. Si quisiera
que adems cortara palabras, entonces se activa la propiedad wrapStyleWord.

Ejecute el programa y observe como ahora s cambia de rengln al llegar el texto


al borde. Adems pruebe a seleccionar texto, cortarlo, copiarlo, pegarlo. Estas
operaciones vienen implcitas en el componente TextArea, pero adicionalmente,
programaremos la barra de mens y la barra de herramientas para que desde ah
se puedan realizar estas mismas tareas.
Dr. Hernn de la Garza

Prctica 4 - 5

Paso 7. Al momento de copiar o cortar un cierto texto seleccionado, dicho texto se


manda al portapapeles donde queda en reserva hasta que se requiera pegarlo, ya
sea en el mismo documento o en otro. Lo que vamos a hacer ahora, es presentar
una manera de definir un portapapeles y adems los mtodos de copiar y pegar,
que hacen uso de l.
Modifique la clase Editor para que adems del extends JFrame implemente la
interface java.awt.datatransfer.ClipboardOwner
public class Editor extends javax.swing.JFrame implements
java.awt.datatransfer.ClipboardOwner{.

En este punto el editor nos indica que hay un error y como sabemos, cuando se
involucra una interface, es obligatorio definir TODOS sus mtodos abstractos. Por
lo tanto, haga clic en el globo rojo en el margen izquierdo, lo que nos muestra una
pequea ventana con algunas acciones posibles para corregir el problema. La
primera de estas acciones dice implement all abstract methods, y es la que se
selecciona.
Aada la siguiente variable arriba del constructor:
private java.awt.datatransfer.Clipboard portapapeles;

Poner la siguiente lnea dentro del constructor:


portapapeles = getToolkit().getSystemClipboard();

Esa parte del cdigo queda como se muestra enseguida:


public class Editor extends javax.swing.JFrame implements
java.awt.datatransfer.ClipboardOwner{
private java.awt.datatransfer.Clipboard portapapeles;
public Editor() {
initComponents();
setSize(500, 350);
setTitle("Editor");
portapapeles = getToolkit().getSystemClipboard();
}.

Dr. Hernn de la Garza


Prctica 4 - 6

Paso 8. Se escriben los cdigos para los mtodos copiar() y pegar().


private void copiar(java.awt.event.ActionEvent evt){
String TextoSel = jtaEditor.getSelectedText();
java.awt.datatransfer.Transferable objTrans = new
java.awt.datatransfer.StringSelection(TextoSel);
portapapeles.setContents(objTrans, this);
}

private void pegar(java.awt.event.ActionEvent evt){
java.awt.datatransfer.Transferable objTrans = portapapeles.getContents(this);
if(objTrans!= null){
try{
String textoPegar =
(String)objTrans.getTransferData(DataFlavor.stringFlavor);
jtaEditor.replaceSelection(textoPegar);
}catch (Exception e){
}
}

Paso9. Trabajaremos ahora con la opcin File de la barra de mens. Aadiremos


las opciones Open, Close, un separador y Exit.

Busque en la paleta de componentes el elemento Menu Item, seleccinelo y


llvelo hasta la palabra File de la barra de men. Queda as:

Cambiar el textojMenuItem1 por Open. Y definir la letra O como el


mnemnico que se activar con la combinacin de las teclas Alt + O. Vea
las propiedades text y mnemonic del elemento.

Dr. Hernn de la Garza


Prctica 4 - 7

De la misma manera aada un nuevo Men Item, cambie el texto a Close,


defina la letra L como mnemnico.
Aadir un Men Item, texto Exit, mnemnico E.
Aada un elemento separador. Solamente arrastre el elemento Separator y
colquelo entre las opciones Close y Exit del men.
Cambiaremos el nombre a cada uno de los elementos JMenuItem aadidos
por los siguientes:
jMenuItem1jmiOpen
jMenuItem2jmiClose
jMenuItem3 jmiExit


Dr. Hernn de la Garza


Prctica 4 - 8

Por lo pronto la opcin que programaremos del men File ser la de Exit.
Para ello hay varias maneras de generar el evento de actionPerformed.
Decidimos dar doble clic sobre la palabra Exit de manera que se despliegue
la ventana de cdigo con las siguientes instrucciones aadidas
automticamente:

private void jmiExitActionPerformed(java.awt.event.ActionEvent evt) {


}

Dentro de este mtodo escribir

private void jmiExitActionPerformed(java.awt.event.ActionEvent evt) {


System.exit(0); // terminar la ejecucin del programa
}

Paso 10. A la opcin Edit de la barra de men, adale tres Menu Item :
Cortar, con mnemnico T, accelarator keys Ctrl + X, nombre jmiCortar.
Copiar, con mnemnico C, accelerator keys Ctrl + C, nombre jmiCopiar.
y Pegar, mnemnico P, accelarator keys Ctrl + V, nombre jmiPegar.

Paso 11. Las acciones que ofrece el men tambin sern implementadas en la
barra de herramientas por lo que se hace conveniente poner el cdigo
correspondiente a cada opcin, dentro de un mtodo y evitar duplicidad de
instrucciones. As, la llamada al mtodo se har desde el men o desde la barra

Dr. Hernn de la Garza


Prctica 4 - 9

de herramientas. Se resalta el hecho de que se requiere un mtodo diferente para


cada accin del men, que tenga las instrucciones para cada caso.
Empezamos con la opcin Cortar ubicada en el men. Dar doble clic sobre la
opcin Cortar del men Edit. Se muestra el cdigo siguiente:
private void jmiCortarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

Dentro del mtodo mandamos llamar a nuestro procedimiento cortarText(),


pendiente de definir an:
private void jmiCortarActionPerformed(java.awt.event.ActionEvent evt) {
cortarText();
}

El cdigo para este procedimiento no lo hemos definido, recuerde que solo


definimos Copiar() y Pegar(), as que aprovechamos que el componente TextArea
tiene su propio mtodo de cortar (cut) y solamente le hablamos dentro de nuestro
procedimiento cortarText().
private void cortarText(){
jtaEditor.cut();
}

Paso 12. Terminamos de programar las dos acciones pendientes del men Edit.
Doble clic en Item Copiar. Aqu podemos llamar al mtodo copiar que definimos en
Paso 7 o bien, utilizar el mtodo que tiene definido el TextArea semejante al
mtodo cut() que ya usamos.
private void jmiCopiarActionPerformed(java.awt.event.ActionEvent evt) {
// copiar(evt); se puede usar el mtodo que definimos arriba
copiarTexto(); // creado por nosotros y usa el copy del textArea
}
private void copiarTexto(){
jtaEditor.copy();
}
Dr. Hernn de la Garza

Prctica 4 - 10

Para la opcin pegar se repiten los pasos anteriores


private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

Igualmente podemos escoger entre el mtodo ya creado pegar() o el que ya viene


paste().
private void jmiPegarActionPerformed(java.awt.event.ActionEvent evt) {
//pegar() llamada al mtodo definido arriba
pegarTexto();
// TODO add your handling code here:
}
private void pegarTexto(){
jtaEditor.paste();
}

Paso 12. Dejaremos la barra de mens por un momento para trabajar con la barra
de herramientas, pero regresaremos ya que an hay opciones por activar y
detalles de su manejo que conocer. Continuamos aadiendo tres botones a la
barra de herramientas para las acciones de cortar, copiar y pegar.

A los botones aadidos tenemos las opciones de que muestren un texto o bien
una imagen representativa de lo que hace. Escogemos la primera de ellas y

Dr. Hernn de la Garza


Prctica 4 - 11

cambiar los textos por el de Cortar, Copiar y Pegar. Adems cambiamos los
nombres de estos tres botones por los siguientes: jbtCortar, jbtCopiar yjbtPegar.
HACER: Asocie la imagen (icon) que es usada en todas las aplicaciones para
identificar estos tres botones. Busque la imagen en internet y asciela en la
propiedad icon.
Programamos cada botn haciendo que llamen al procedimiento correspondiente.
private void jbtCortarActionPerformed(java.awt.event.ActionEvent evt) {
cortarText();
}

private void jbtCopiarActionPerformed(java.awt.event.ActionEvent evt) {
copiarTexto();
}
private void jbtPegarActionPerformed(java.awt.event.ActionEvent evt) {
pegarTexto();
}

Ejecute el programa y verifique que s funcionan las opciones tanto del men
como de la barra de herramientas.

Paso 13. Los elementos en la barra de herramientas por lo general muestran una
imagen o icono que no siempre le dice al usuario claramente cul es su accin as
que se le activan pistas para que cuando el cursor permanezca unos instantes
encima del elemento, se despliegue un mensaje descriptivo. Este mensaje se
conoce como ToolTipText. Cada botn de la barra de herramientas cuenta con la
propiedad ToolTipText, al igual que otros muchos componentes. Localice la
correspondiente a Cortar y escriba el texto Cortar el texto seleccionado. Proceda
de manera semejante con los botones Copiar y Pegar. Al ejecutar el programa
lleve el cursor encima de cualquiera de los tres botones y despus de unos
instantes, aparecer el mensaje escrito en la propiedad mencionada.

Dr. Hernn de la Garza


Prctica 4 - 12

Paso 14. La barra de herramientas puede recibir otro tipo de elementos tales
como cajas combo, radio buttons, etiquetas, etc. Vamos a aadir una caja combo
y una etiqueta a la barra de herramientas y la activaremos para que nos posibilite
cambiar el tamao de la letra usada en el editor.

Dr. Hernn de la Garza


Prctica 4 - 13

Arrastramos una caja combo dentro de la caja de herramientas. La caja aadida


es probable que se extienda a ocupar el espacio restante de la barra. An as,
arrastre una etiqueta y ver cmo se acomoda debido a que la caja combo se
reduce para hacerle espacio.

Paso 15. Seleccione la caja combo recin aadida. Abra la ventana de


propiedades y ver una imagen igual a la que se muestra abajo. Observe que no
hemos cambiado el nombre del componente ya que aparece el nombre asignado
por defecto jComboBox1. Tambin observe las propiedades model , selectedIndex
y selectedItem. La propiedad model define los datos que aparecern dentro de la
caja combo cuando se abra y la propiedad selectedIndex, indica la posicin del
valor que se tomar por defecto para la caja combo. Dado que esa propiedad tiene
asignado por efecto un cero, entonces el elemento que mostrar la caja combo es
el primero y puede verse en la propiedad selectedItem que dice Item1.

Dr. Hernn de la Garza


Prctica 4 - 14

Cambiamos el nombre de la caja combo por el de jcbFontSize y el de la etiqueta


por el de jlbSize. Enseguida editaremos los elementos dentro de la caja combo.
Para ello, haga clic en el botn con los tres puntos en la propiedad model, para
hacer que se abra la ventana de edicin. Elimine todos los datos y capture
8,10,12,14,16 y 18 acomodando un valor en cada rengln.

Dr. Hernn de la Garza


Prctica 4 - 15

Paso 16. Ya se tienen los valores para el tamao de la fuente pero an no los
hemos relacionado con el editor. Para lograr que cambie el tamao de la letra,
debemos modificar la propiedad Font del componente jtaEditor cada vez que se
detecte un cambio de estado en el tem seleccionado en la caja combo. El evento
a controlar entonces es el ItemStateChanged.
Lleve el cursor sobre la caja combo y active el men contextual con botn
derecho. Escoja eventos y luego la categora Item. Seleccione el nico evento que
hay y es el de ItemStateChanged.

El cdigo para el evento es el siguiente:



private void jcbFontSizeItemStateChanged(java.awt.event.ItemEvent evt) {
int size = Integer.parseInt((String)jcbFontSize.getSelectedItem());
Font f = new Font("Arial",Font.PLAIN,size);
jtaEditor.setFont(f);

}

La primera lnea de este cdigo obtiene el valor seleccionado en la caja combo por
medio de la propiedad getSelectedItem() y dado que devuelve un tipo Object le
hace un casting a tipo String para luego convertirlo a valor numrico con
Integer.parseInt, y se recibe en la variable size de tipo int.
La segunda lnea crea un nuevo tipo de fuente en el que se usa la variable size
para asignar el tamao de la fuente. Tambin puede cambiarse el tipo de fuente
por otra que no sea Arial y en el segundo argumento se especifica si se quiere
Bold, Italica o Plain. Este argumento es de tipo int as que puede probar poniendo
valores desde el cero, uno, dos, tres y observar el comportamiento de la letra
dentro del jtaEditor.
Ejecute el programa y pruebe a cortar, pegar, a cambiar de tamao, etc. Utilice
tanto la barra de men como la barra de herramientas.

Dr. Hernn de la Garza


Prctica 4 - 16

Paso 17. Vamos a mostrar como aadir un submen dentro de la opcin Edit, y
aprovecharemos a que cambie el tamao de letra, la cual es una tarea que se
debe poder realizar tambin desde la barra de men, dado que se puso primero
en la barra de herramientas.
Abra la opcin Edit del men de manera que muestre las tres opciones que ya se
tienen. Luego arrastre un separador y colquelo al fondo de las tres opciones.
Enseguida arrastramos un elemento Menu, de la paleta de componentes y lo
colocamos debajo del separador. Si acaso quedan en un orden distinto, es posible
reubicarlos dragndolos hacia la posicin deseada. Otra manera de
reacomodarlos es desde el navegador donde se muestran todos los elementos
que se han definido e incorporado al proyecto, ah tambin por medio del dragado
pueden reacomodarse. Cambiamos el texto del submen por el de Fuente.

Dr. Hernn de la Garza


Prctica 4 - 17

Continuamos con la construccin del submen. Traemos tantos elementos


MenuItem como tamaos de letra se requieran. Esta manera de modificar tamao
de fuente, es solo para ilustrar el manejo del submen , pero definitivamente no es
una forma recomendada. Cambie los textos de los MenuItem aadidos a cada
tamao deseado. Ejemplo, 8,10,12.

Programamos el evento actionPerformed de cada opcin para que actualice el


tamao de la letra, siguiendo las instrucciones mostradas para la barra de
herramientas.
Dar doble clic o bien escoger la opcin events, luego action y actionPerformed del
men contextual para el elemento 8.
El cdigo a incluir en el cuerpo del mtodo es el siguiente:

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {


Font f = new Font("Arial",Font.PLAIN,8);
jtaEditor.setFont(f);

}

Se repite lo anterior para cada una de las otras opciones de tamao activadas,
cuidando de modificar el tamao de fuente en la construccin de la variable f.
Paso 18. Veremos enseguida cmo aadir una nueva opcin en el men principal.
Aprovecharemos esta opcin para hacer que se muestre una nueva ventana con
Dr. Hernn de la Garza

Prctica 4 - 18

informacin del proyecto y adems que sus elementos nos sirvan de pretexto para
aprender a definir y a utilizar los mens contextuales.
Seleccione la barra de mens y luego arrastre un elemento men dentro de ella y
sultelo enseguida de Edit. Cambie el texto por About of. Despus le ponemos
una nica opcin arrastrando hacia l un menuItem. Cambiamos el texto a Acerca
de. En este momento debe verse as:

Paso 19. Haremos que la opcin Acerca de despliegue una nueva ventana. Este
punto se trat en la prctica tres por lo que no se darn los detalles. As que
entonces aada un JDialog al proyecto con el nombre de jdlAcercaDe. A nuestra
nueva ventana le ponemos tres JLabel y un JButton.
Para hacer que se muestre la ventana nueva, primero la declaramos como atributo
en nuestra clase usando el nombre dlVentana. Despus de lo anterior ya estamos
listos para hacer que se visualice. Para ello, programamos el evento
actionPerformed de la opcin Acerca de del men con las instrucciones ya
conocidas.
Se muestra el inicio del cdigo de la clase Editor ya modificado.
public class Editor extends javax.swing.JFrame implements
java.awt.datatransfer.ClipboardOwner{
private java.awt.datatransfer.Clipboard portapapeles;
private jdlAcerca dlVentana;

Y el cdigo para mostrar la ventana en el actionPerformed es:


Dr. Hernn de la Garza

Prctica 4 - 19

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {


dlVentana = new jdlAcerca(this, true);
dlVentana.setVisible(true);
// TODO add your handling code here:
}

Paso 20.Coloque tres etiquetas y un botn en la ventana nueva. A la primer


etiqueta cambie el texto a que diga Elaborado por: Empresas HG&G, la segunda
con texto Versin 1.1, 2014. A la tercera etiqueta le asociaremos una imagen en
la propiedad icon. Buscamos una imagen en el CLIPART de Microsoft PowerPoint
y la copiamos. Despus regresamos al IDE de NetBeans a la ventana proyecto y
la pegamos en Source Packages. De esta manera ya dejamos disponible la
imagen dentro del proyecto e ir con el archivo jar que se genere al ejecutar
nuestro proyecto. Lo anterior permite que no se dependa de una trayectoria ni de
un nombre de archivo o imagen para que el proyecto funcione correctamente.
Para asociar la imagen con la etiqueta. Haga clic en los puntos de la propiedad
icon de la etiqueta. Se despliega una ventana que permite relacionar con
imgenes que estn en el proyecto o con imgenes en algn archivo o URL
externos. Como la imagen ya est en el proyecto abrimos la caja combo de File en
la seccin Image within proyect. Escogemos la imagen deseada y aceptamos.

Dr. Hernn de la Garza


Prctica 4 - 20

La nueva ventana deber verse as despus de haber colocado las tres etiquetas
y el botn y de cambiar el Layout de la ventana a Null Layout:

NOTA: Al cambiar el Layout de la ventana a Null Layout, hace necesario que no


solo se cree la ventana sino que se especifique un tamao y una localizacin
donde mostrarse. El cdigo de la opcin Acerca de queda as:

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {


dlVentana = new jdlAcerca(this, true);
dlVentana.setSize(500, 250);
dlVentana.setLocation(250, 250);
dlVentana.setVisible(true);

}

Paso 21. Escribimos el mtodo actionPerformed para el botn Regresar.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {


dispose();
// TODO add your handling code here:
}

Paso 22. Por ltimo crearemos un men contextual y se lo asociaremos al botn.


Esto nos mostrar la manera de activar este tipo de mens y poder incluirlos en el
futuro.
Dr. Hernn de la Garza

Prctica 4 - 21

Arrastramos sobre la ventana un componente PopupMenu de la paleta de


componentes. Este componente de momento no es visible, pero puede localizarse
en el apartado Other Components en la ventana de Navegacin.

Puede ver que hemos aadido tres MenuItems al Popup Menu. Seleccionamos el
primer jMenuItem1y abrimos su ventana de propiedades, le cambiamos la
propiedad texto por Rojo y damos enter. A los otros dos MunuItems les
cambiamos el texto a uno por Azul y al tercero por Verde.

Paso 23. Ligaremos al botn jbtRegresar con este popup men. Para hacerlo
seleccionamos el botn y abrimos la ventana de propiedades. Buscamos la
propiedad componentPopupMenu y abrimos la caja combo que tiene asociada.
Nos mostrar TODOS los popup men creados hasta ese momento y
seleccionamos el que queremos que se muestre con el botn. Dado que solo
tenemos uno, lo asociamos con l.

Dr. Hernn de la Garza


Prctica 4 - 22

Paso 24. Vemos que se muestre el men emergente o contextual al hacer clic con
botn derecho sobre el botn Regresar de la ventana.

Paso 25. Al hacer clic sobre alguna de las opciones del men emergente, se debe
realizar una accin y en este caso queremos cambiar el color del fondo del botn.
Aqu mostraremos solamente el cdigo correspondiente a la opcin Rojo, en el
entendido que las dos opciones de color restantes deben realizarse de manera
semejante.

Dr. Hernn de la Garza


Prctica 4 - 23

Escoger el evento actionPerformed del elemento Rojo. Ubicar el jMenuItem1 en la


ventana de navegacin, luego activar men contextual y escoger events, action y
por ltimo actionPerformed. El cdigo para ese evento es como sigue:

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {


jbtRegresar.setBackground(Color.red);
}

Despus de ejecutar el programa, activar la opcin Acerca de del men, dar clic
derecho estando el cursor sobre el botn regresar y de haber escogido la opcin
Rojo del men emergente, se tiene el resultado siguiente en que se muestra
claramente que se modific el color del fondo del botn.

Dr. Hernn de la Garza


Prctica 4 - 24

Sugerencias Didcticas
La prctica presentada es bastante larga por lo que se sugiere sea encargada a
realizar por los alumnos en horario extra clase.
Se recomienda ver con los alumnos el tema de flujos para que con esas bases
puedan activar las opciones de Save (guardar), el texto que tienen en el editor y
poder asignarle un nombre y una extensin, al igual que la opcin Open que
permitira traer un texto desde un archivo y poder trabajarlo en el editor. Estas
tareas ya no se incluyeron por ser temas que requieren cuidado y prctica lo que
hara que este ejercicio que se presenta, se alargara an ms.
Se recomienda que se le pidan al alumno nuevos ejemplos de uso de los mens,
de la barra de herramientas y de mens contextuales para que refuerce este
conocimiento.

Reporte del alumno (resultados)


El alumno deber mostrar evidencias de haber realizado la prctica, incluyendo
claramente haber cumplido con las actividades que se le fueron encargando a lo
largo de la prctica.
Se puede pedir al alumno que habilite otros servicios en la barra de men, en la
barra de herramientas y nuevos mens contextuales asociados a otros
componentes.
En su reporte deber incluir sus conclusiones y recomendaciones.

Bibliografa preliminar
1. Java The Complete Reference Eighth Edition
Herbert Schildt
Oracle Press 2011
2. Java 2 Interfaces Grficas y Aplicaciones para Internet
Francisco Javier Ceballos
Alfaomega- RAMA 2. Edicin 2007
3. En la pgina oficial de Java:
docs.oracle.com/javase/tutorial/java/

Dr. Hernn de la Garza


Prctica 4 - 25

Das könnte Ihnen auch gefallen