UNIDAD 4: CONTROL DE PROGRAMA

JAVA TEMA 11: JAVA MENUS MENUBAR

JAVA proporciona una serie de clases o componentes especializados que permiten construir programas visuales de selección de menus.

Un programa de selección de menus debe construir los menus mas estandares que existen, ellos son los menus que aparecen en la parte de arriba en cualquier aplicación, con sus opciones de file, edit, etc, como se observa en el siguiente ejemplo:

Codigo:

import java.lang.*; import java.awt.*; import java.awt.event.*;
public class prog17 {
//declaracion, creacion e inicializacion de componentes, objetos y variables
static Frame ventana= new Frame();
static TextField t1= new TextField(25);
//se ocupa una barra para los menus
static MenuBar barra = new MenuBar();
// se ocupa un menu por cada columna
static Menu cambios = new Menu("casa cambio");
static Menu temp= new Menu("temperaturas");
static Menu salir = new Menu("salir");
// se ocupan items para cada menu o columna
static MenuItem pd = new MenuItem("pes-dlr");
static MenuItem dp = new MenuItem("dlr-pesos");
static MenuItem cf = new MenuItem("cen-far");
static MenuItem fc = new MenuItem("far-cent");
static MenuItem exit=new MenuItem("Quit");
public static void main(String[] args)
{ // area de definicion de propiedades de el objeto
ventana.setTitle("mi programa");
// agregando items a ira columna
cambios.add(pd);cambios.add(dp);
//agregando items a 2da columna
temp.add(cf);temp.add(fc);
// agregando items a 3ra columna
salir.add(exit);
//agregando columnas o menus a la barra de menus
barra.add(cambios);barra.add(temp);barra.add(salir);
//agregando barra de menus y textfield a frame, en awt no hay contentpane()
ventana.add(t1); ventana.setMenuBar(barra);
ventana.pack(); ventana.setVisible(true);
// en awt tampoco hay windows-on-close
ventana.addWindowListener( new WindowAdapter()
{ public void windowClosing(WindowEvent e){
ventana.dispose(); System.exit(0);}});
// agregando el unico escuchador que permite menuitem a cada item
exit.addActionListener( new ActionListener()
{ public void actionPerformed( ActionEvent e )
{ System.exit(0); } } );
pd.addActionListener( new ActionListener()
{ public void actionPerformed( ActionEvent e )
{ t1.setText("pesos a dolares"); } } );
cf.addActionListener( new ActionListener()
{ public void actionPerformed( ActionEvent e )
{ t1.setText("cent a far"); } } );
}; // termina main
} // termina clase

Corrida:

image31.jpg

Notas:

1.- En general es una jerarquia sencilla de componentes, primero se ocupa una Barra de Menu ( MENUBAR ) que contendra las columnas o menus (MENU) y esta barra de menu ( MENUBAR ) es quien se pega a FRAME, como se observa en el programa ejemplo.

2.- Se ocupan despues las columnas o menus( MENU ) que se pegan a MENUBAR y contienen items ( MENUITEMS ), observar que al momento de crearlo (new) su constructor lleva el titulo o encabezado de la columna.

3.- Se ocupan al final items ( MENUITEM ) apropiados para cada columna o menu, estos items se pegan al menu o columna apropiada, y es a estos items a quien se les pega el escuchador apropiado ( ACTIONLISTENER ), observar que este escuchador no se le puede ni debe pegar ni a MENU ni tampoco a MENUBAR.

Observar tambien que al momento de crearlos(new) su constructor incluye el titulo de la opción.

4.- Cada escuchador, lleva su propio codigo, aunque en general en la practica lo unico que hace es ocultar(hide) FRAME1 que contiene el menu y mostrar(show o visible) FRAME2 que contiene el programa apropiado.

5.- No olvidar poner en FRAME2 un boton de regreso a FRAME1 o menu.

6.- Si en FRAME no se pone mas que MENUBAR , al ejecutarse el programa de menu, no aparecera en forma horizontal, sino en forma vertical.

TAREAS JAVA

1.- EL DE LA MUESTRA CON DOS CONVERSIONES MONETARIAS, DOS OPCIONES DE TEMPERATURAS Y DOS DE DISTANCIAS.

* NO OLVIDE PONER ALGUNAS LABELS DE ENCABEZADO EN LA VENTANA PRINCIPAL

EN EL BOTON OK O EN OTRO BOTON SIMILAR DE CADA VENTANA DE TRABAJO NO OLVIDAR AGREGAR CODIGO PARA OCULTAR DICHA VENTANA Y REGRESAR A LA VENTANA CON EL MENU PRINCIPAL.

Politica de Privacidad