miércoles, 1 de junio de 2022












Capítulo Nº 4 (Lección 03)


4.3. TRABAJAR CON BARRA DE MENÚ EN JAVA 

Los menús forman parte importante en cualquier aplicación. En Java se cuenta con las clases JMenuBar, JMenu y JMenuItem para diseñar menús de opciones. También están otras clases para elementos de menús con checkboxes y radiobotones, en este Curso Práctico se trabajará con JMenuBar, JMenu y JMenuItem, por ser los más comunes. 

 

4.3.1. Crear e insertar una Barra de Menú 

La clase JMenuBar contiene los métodos necesarios para administrar una barra de menú, mientras que JMenu y JMenuItem contienen los métodos necesarios para administrar menús y elementos de menús. 

Para crear una barra de menú en Java, se hace a partir de la clase JMenuBar. Por ejemplo, con la siguiente línea de código se crea el objeto Barra a partir de la clase JMenuBar. 

JMenuBar Barra = new JMenuBar(); 

Para asignar la barra de menú Barra a la ventana creada en el apartado 4.1 de este capítulo, se hace a través del método setJMenuBar: setJMenuBar(Barra); 

 

4.3.2. Crear e insertar un Menú y elementos de Menú 

Para crear un menú en Java, se hace a partir de la clase JMenu. Por ejemplo, con la siguiente línea de código se crea el objeto Archivo con la etiqueta "Archivo" a partir de la clase JMenu. 

JMenu Archivo = new JMenu("Archivo"); 

Para asignar el menú Archivo en la barra de menú Barra, se hace a través del método add: Barra.add(Archivo); 

Para crear un ítem menú en Java, se hace a partir de la clase JMenuItem. Por ejemplo, con la siguiente línea de código se crea el objeto RegistrarAsignaturas con la etiqueta "Asignaturas"a partir de la clase JMenuItem. 

JMenuItem RegistrarAsignaturas = new JMenuItem("Asignaturas"); 

Para asignar el ítem de menú RegistrarAsignaturas al menú Archivo, se hace a través del método add: Archivo.add(RegistrarAsignaturas);



Para crear el menú principal de la aplicación (clase MenuAdministrador.java), sólo basta con agregar después de la instrucción add(EtiquetaMenu); del punto 4.2.2 la siguiente línea de código: 


//*** Se crean los objetos para crear una barra de menú, opciones de menú

//*** en items de menú a partir de las clases de Java: JMenuBar, JMenu y

//*** JMenuItem 

JMenuBar Barra = new JMenuBar(); 

JMenu Archivo = new JMenu("Archivo");

JMenuItem RegistrarAsignaturas = new JMenuItem("Asignaturas");

JMenuItem RegistrarPensum = new JMenuItem("Pensum");

JMenuItem Salir = new JMenuItem("Salir"); 

JMenu Estudiantes = new JMenu("Estudiantes");

JMenuItem RegistrarEstudiante = new JMenuItem("Registrar datos estudiante...");

JMenuItem CambiarEstudiante = new JMenuItem("Cambiar datos estudiante...");

JMenuItem EliminarEstudiante = new JMenuItem("Eliminar datos estudiante...");

JMenuItem ConsultarEstudiante = new JMenuItem("Consultar estudiantes..."); 

JMenu Historico = new JMenu("Histórico");

JMenuItem HistoricoCalificaciones = new JMenuItem

      ("Histórico calificaciones estudiante...");

JMenuItem ConsultarHistorico = new JMenuItem("Consultar histórico estudiante..."); 

JMenu Inscripciones = new JMenu("Inscripciones");

JMenuItem SeleccionarAsignaturas = new JMenuItem

      ("Seleccionar asignaturas de estudiante..");

JMenuItem RegistrarInscripción = new JMenuItem

      ("Registrar y validar inscripción de estudiante...");

JMenuItem ConsultarInscripciones = new JMenuItem

      ("Consultar estudiantes inscritos..."); 

JMenu UsuariosSistema = new JMenu("Usuarios");

JMenuItem RegistrarUsuario = new JMenuItem("Registrar usuario y contraseña...");

JMenuItem CambiarUsuario = new JMenuItem("Cambiar usuario y contraseña...");

JMenuItem EliminarUsuario = new JMenuItem("Eliminar usuario y contraseña...");

JMenuItem ConsultarUsuario = new JMenuItem("Consultar usuarios..."); 

JMenu Ayuda = new JMenu("Ayuda");

JMenuItem AyudaGeneral = new JMenuItem("Ayuda general...");

JMenuItem Acercade = new JMenuItem("Acerca de..."); 

//*** Se asigna la barra de menú a través del método setJMenuBar y se le

//*** agregan las opciones definidas anteriormente     

setJMenuBar(Barra); 

Barra.add(Archivo);

Archivo.add(RegistrarAsignaturas);

Archivo.add(RegistrarPensum);

Archivo.addSeparator();

Archivo.add(Salir); 

Barra.add(Estudiantes);

Estudiantes.add(RegistrarEstudiante); 

Estudiantes.add(CambiarEstudiante);

Estudiantes.add(EliminarEstudiante);

Estudiantes.add(ConsultarEstudiante); 

Barra.add(Historico);

Historico.add(HistoricoCalificaciones);

Historico.add(ConsultarHistorico); 

Barra.add(Inscripciones);

Inscripciones.add(SeleccionarAsignaturas);

Inscripciones.add(RegistrarInscripción);

Inscripciones.add(ConsultarInscripciones); 

Barra.add(UsuariosSistema);

UsuariosSistema.add(RegistrarUsuario);

UsuariosSistema.add(CambiarUsuario);

UsuariosSistema.add(EliminarUsuario);

UsuariosSistema.add(ConsultarUsuario); 

Barra.add(Ayuda);

Ayuda.add(AyudaGeneral);

Ayuda.add(Acercade);     

//*** Se asignan las teclas calientes a las opciones del menú     

Archivo.setMnemonic('A'); 

RegistrarAsignaturas.setMnemonic('n');

RegistrarPensum.setMnemonic('P');

Salir.setMnemonic('S'); 

Estudiantes.setMnemonic('E'); 

RegistrarEstudiante.setMnemonic('R');

CambiarEstudiante.setMnemonic('C');

EliminarEstudiante.setMnemonic('m');

ConsultarEstudiante.setMnemonic('o'); 

Historico.setMnemonic('H'); 

HistoricoCalificaciones.setMnemonic('n');

ConsultarHistorico.setMnemonic('C'); 

Inscripciones.setMnemonic('I'); 

SeleccionarAsignaturas.setMnemonic('S');

RegistrarInscripción.setMnemonic('R');

ConsultarInscripciones.setMnemonic('C'); 

UsuariosSistema.setMnemonic('s'); 

RegistrarUsuario.setMnemonic('R');

CambiarUsuario.setMnemonic('C');

EliminarUsuario.setMnemonic('E');

ConsultarUsuario.setMnemonic('o'); 

Ayuda.setMnemonic('u'); 

AyudaGeneral.setMnemonic('A');

Acercade.setMnemonic('c'); 

//*** Se asignan los Textos Tips a las opciones del menú     

RegistrarAsignaturas.setToolTipText("Tabla de asignaturas");

RegistrarPensum.setToolTipText("Tabla de pensum por carrera");

Salir.setToolTipText("Salir de la aplicación"); 

RegistrarEstudiante.setToolTipText

      ("Registrar los datos personales del estudiante");

      CambiarEstudiante.setToolTipText("Cambiar los datos personales del estudiante");

EliminarEstudiante.setToolTipText("Eliminar los datos personales del estudiante");

ConsultarEstudiante.setToolTipText("Consultar listado de estudiantes"); 

HistoricoCalificaciones.setToolTipText

      ("Histórico de calificaciones del estudiante");

ConsultarHistorico.setToolTipText

      ("Consultar el histórico de calificaciones del estudiante"); 

SeleccionarAsignaturas.setToolTipText

      ("Oferta de asignaturas para la inscripción del estudiante");

RegistrarInscripción.setToolTipText

      ("Registrar y validar la inscripción del estudiante");

ConsultarInscripciones.setToolTipText

      ("Consultar las inscripciones que han sido validadas"); 

RegistrarUsuario.setToolTipText("Registra los datos de un usuario en el sistema");

CambiarUsuario.setToolTipText("Cambia los datos de un usuario en el sistema");

EliminarUsuario.setToolTipText("Elimina un usuario del sistema");

ConsultarUsuario.setToolTipText("Consultar los usuario del sistema"); 

AyudaGeneral.setToolTipText("Muestra la ayuda general");

Acercade.setToolTipText("Muestra el diálogo acerca de..."); 

//*** Eventos producidos por las opciones del menú 

//*** Cuando se pulsa la opción "Salir" ejecuta el método "CierraVentana" 

Salir.addActionListener(new ActionListener()

{

   public void actionPerformed(ActionEvent evt)

   {

   //*** Se ejecuta el método CierraVentana

          

   CierraVentana();

   }

}); 


Al compilar: javac MenuAdministrador.java

Al ejecutar: java MenuAdministrador 

Se obtendrá una ventana como la figura siguiente:



Código fuente aquí: Curso Práctico De Java-02.rar