Tutorial de Java Swing (11): JMenuBar, JMenu, JMenuItem.


Vamos a ver ahora una ventana principal JFrame (ventana principal) que contiene un Menu principal (JMenuBar) con varias opciones (Archivo, Editar, Ayuda y Salir), cada una de las cuales contiene otras opciones de menú (JMenuItem)  y una barra de progreso (JProgressBar). Colocaremos también un componente JTextArea.

La mejor manera de afrontar este diseño es crear desde NetBeans un proyecto nuevo siguiendo la plantilla correspondiente a “Proyecto Nuevo”, “Java” y “Java Desktop Aplication”. (Aplicación básica).

Si llamamos al proyecto “Apliejemplo” aparecerá un paquete con dicho nombre. Este paquete contiene tres componentes java: ApliEjemploAboutBox, ApliEjemploApp, ApliEjemploView.

ApliEjemploApp

ApliEjemploApp, define una clase llamada igual “ApliEjemploApp” que deriva de la clase por extension “SingleFrameApplication”, definida en el paquete  org.jdesktop.application.SingleFrameApplication . Nótese que la plantilla ha incorporado dos nuevas bibliotecas de clases denominadas appframework-1.0.3.jar y swing-worker-1.1.jar. Si despliega la primera de ellas, en el paquete org.jdesktop.application encontrará la definición de la clase “SingleFrameApplication” que buscamos.

Esta clase contiene el método estático main (método vinculado a la clase y no a sus instancias u objetos) necesario para arrancar, a través de la máquina virtual de Java, el proyecto. ¿Qué hace exactamente el método main?. Pues llamar a

launch(ApliEjemploApp.class, args);

Esto crea una instancia de la clase ApliEjemploApp y llama al método startup de la instancia u objeto recién creado. En el método startup tenemos el método

show(new ApliEjemploView(this));

con esto instanciamos la clase ApliEjemploView y la visualizamos.

ApliEjemploView

ApliEjemploView es la clase que describe al JFrame o ventana principal. Si desplegamos desde el “Inspector” los componentes (tenemos que estar en modo Diseño) veremos el siguiente árbol

Vemos pues que el JFrame, contiene

  • Un panel (JPanel) principal que ocupa todo el JFrame
  • Un menu principal (JMenuBar) con dos opciones fileMenu y helpMenu (los dos son componentes JMenuItem y los dos tienen a su vez una opción de menú, son los llamados JMenuItem).
  • Un panel o componente JPanel  que a su vez contiene dos etiquetas JLabel, un separador JSeparator y una barra de progreso.

Finalmente, la plantilla ha creado otro JFrame,  ApliEjemploAboutBox, que muestra una ventana con información básica de nuestra aplicación.

Esta interfaz está compuesta básicamente de un componente JDialog (un tipo especial de ventana) que a su vez contiene componentes del tipo JButon y JLabel. Observe que los componentes del tipo JLabel pueden contener textos y/o imágenes. Como es natural, para una aplicación particular tendremos que modificar los val0res de estos componentes.

Vamos ahora a singularizar la interfaz ApliEjemploView.

  • La primera tarea que vamos a hacer es particularizar la barra de menú, pues deseamos que las opciones principales del menú principal sean Archivo, Editar, Ayuda y Cerrar. Para ello lo primero será cambiar el texto de la primera opción “File” por “Archivo”. Para ello seleccionamos el JMenu correspondiente a File y desde la caja de propiedades cambiamos la propiedad “text”. Después seleccionamos desde la paleta de menús un componente menú en el menú principal al que le asignaremos la propiedad “text” en “Editar”. Hacemos lo mismo con una opción de “Cerrar”. Cambiamos el texto de la opción “Help” y finalmente reorganizamos la opciones. Es decir:

  • Ahora en la opción principal “Archivo” queremos que se desplieguen las cuatro opciones “Abrir”, “Salvar”, “Salvar como…” y “Salir”. Para ello, insertamos tres elementos de menú (JMenuItem) por encima del ya existente. Cambiamos la propiedad “text” a los textos previstos, cambiamos las propiedades “toolTipText” a “Abrir archivo nuevo”, “Salvar archivo”, “Salvar con otro nombre” y “Salir de la aplicación” respectivamente. Finalmente, cambiamos las propiedades “accelerator” de cada una de las opciones de “Archivo” a través de

de esta manera cambiamos el atajo de tejado a Ctrl+A, Ctrl+S, Ctrl+C las tres primeras opciones de “Archivo”. Es decir:

Vamos finalmente a colocar un icono en las opciones “Abrir” y “Salvar”. Para hacer esto lo primero que tenemos que hacer es localizar la carpeta C:\EjemplosJava\ApliEjemplo\src\apliejemplo\resources (o en su caso, la correspondiente a los recursos del proyecto) y copiar los iconos que representarán las dos funciones. Luego seleccionando el elemento de menú “Abrir” y desde la caja de propiedades seleccionamos la propiedad “icon” y seleccionamos finalmente el archivo, es decir:

Finalmente,

Envía un comentario o deja una ruta: Trackback URL.

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.