En la parte anterior, vimos como se crea un Frame sencillo en el cual se muestra una ventana en blanco. También deciamos que esta liberia posee la capacidad de crear Ventanas con menús desplegables y botones.
Primero debemos aclarar que es una variable global, y es aquella que puede ser usada en cualquier método y en cualquier parte del código, se declara fuera de cualquier método y dentro de la clase. Para quedar sin dudas, coloco la estructura en que se crea una variable global:
class VariablesGlobales
{//Inicio de la clase
//Aqui van las variables globales
public static void......
{//Inicio del método
//Resto del código
}//Fin del método
}//Fin de la clase
Los menú se manejan como variables y no como objetos abstractos, por lo tanto hay que definir el tipo de menú, el nombre que se le asignara y como lo vizualizara el usuario. Estas variables deben ser globales para que todo el programa o clase pueda utilizarlas.
Esto es muy sencillo de realizar, es igual que declarar una variable del tipo caracter (String), luego que definimos la barra principal, y los elementos que la componen, pasamos a aderir o añadir los items que iran dentro de nuestro menú.
Estos items pueden declararse de forma directa, o de forma indirecta que es la que comunmente se utiliza para hacer el código más entendible:
- Forma directa:
TipoDeVariable VARIABLE = new TipoDeVariable("NOMBRE")
- Forma indirecta
TipoDeVariable VARIABLE1= new TipoDeVariable("NOMBRE")
TipoDeVariable VARIABLE2 = new TipoDeVariable(VARIABLE1)
En la forma directa, declaramos el nombre de la variable y la forma en la que la vizualizara el usuario. Y en la forma indirecta, creamos una variable que contiene el nombre que se mostrara por pantalla y que pertenece a la VARIABLE2.
Igualmente podemos usar variables de distintos tipos, las más comunes, y las que utilizaremos, son las siguientes:
- MenuBar: Crea la barra principal donde ira nuestro menú.
- Menu: Crea los menús que iran dentro de la barra principal. Ejemplo: Archivo, Edición, Ayuda, etc.
- MenuItem: Crea los elementos que iran dentro de los menús. Ejemplo: dentro del menú Archivo, Abrir, Guardar, Imprimir, etc.
Para setear o mostrar la barra principal, la declaramos y la inicializamos, y luego se la añadimos a nuestro Frame. Esto se hace de la siguiente manera:
MenuBar PRINCIPAL= new MenuBar()
Allí estamos declarando una variable del tipo menú de barra (MenuBar). Luego de esto declaramos el o los menús principales de la siguiente forma:
Menu MENU1 = new Menu("Menu1")
Menu MENU2 = new Menu("Menu2")
Como explicamos anteriormente, declaramos la variable del tipo menú y escribimos entre comillas ("") el nombre que se mostrara por pantalla. Y por último creamos los items que van dentro de cada menú.
MenuItem ITEM1 = new MenuItem("Item1")
MenuItem ITEM2 = new MenuItem("Item2")
MenuItem ITEM3 = new MenuItem("Item3")
Luego de terminar todas nuestra variables, y haberlas declarado de forma global, debemos setear la barra principal y añadir cada menú a la barra principal, y cada item a su menú correspondiente, para ello utilizamos el ".add", que significa añadir. Siguiendo los nombres de ejemplo que estamos utilizando, vendria siendo así:
setMenuBar(PRINCIPAL)
PRINCIPAL.add(MENU1)
PRINCIPAL.add(MENU2)
MENU1.add(ITEM1)
MENU1.add(ITEM2)
MENU1.add(ITEM3)
MENU2.add(ITEM1)
MENU2.add(ITEM2)
MENU2.add(ITEM3)
Lo que hemos hecho aqui es muy simple, con "setMenuBar" indicamos al programa que se inicializara la barra de menú principal, y que a esa barra principal se le añadiran dos menús (MENU1 y MENU2), y que el MENU1 possera 3 items y el MENU2 también.
Para explicarlo paso por paso, y para que no existan dudas en esta parte que es la más importante, iniciamos la barra principal con "setMenuBar" y entre parentecis el nombre de la variable del tipo "MenuBar".
setMenuBar(PRINCIPAL)
Luego le indicamos al programa que en esa barra van dos menús colocando el nombre de la variable del tipo "MenuBar" seguido de un ".add" y entre parentecis el nombre de la variable del tipo "Menu".
PRINCIPAL.add(MENU1)
PRINCIPAL.add(MENU2)
Y por último, indicamos al programa que en cada menú van 3 items, colocando el nombre de la variable tipo "Menú" seguido de un ".add" y entre parentecis el nombre de la variable tipo "Item".
MENU1.add(ITEM1)
MENU1.add(ITEM2)
.............Aplicando el mismo ejemplo del Frame anterior, vamos a crear una barra de menú.
import java.awt.*; import javax.swing.*; public class Ventana extends Frame { MenuBar BARRA = new MenuBar(); Menu MENU1 = new Menu("Menu1"); Menu MENU2 = new Menu("Menu2"); MenuItem ITEMa1 = new MenuItem("Item1"); MenuItem ITEMa2 = new MenuItem("Item2"); MenuItem ITEMb1 = new MenuItem("Item1"); MenuItem ITEMb2 = new MenuItem("Item2"); public Ventana() { super("Primera Ventana"); setLocation(100,100); setSize(200,100); setMenuBar(BARRA); BARRA.add(MENU1); BARRA.add(MENU2); MENU1.add(ITEMa1); MENU1.add(ITEMa2); MENU2.add(ITEMb1); MENU2.add(ITEMb2); show(); } public static void main(String[] arg) { JOptionPane.showMessageDialog(null,"Usted a creado un Frame"); new Ventana(); } }
Si estudiamos el código de este ejemplo, vemos que es sumamente sencillo el crear los elementos que queramos que se muestren en un Frame, igualmente podemos crear un menú mas extenso, ya que este es un ejemplo sumamente sencillo.
Recibe notificaciones por correo