Foros del Web » Programación para mayores de 30 ;) » Java »

Duda con jMenu

Estas en el tema de Duda con jMenu en el foro de Java en Foros del Web. Hola amigos del foro... Tengo el siguiente problema: tengo un jMenu, en el que solo la primera opción tiene items en el submenu, para esos ...
  #1 (permalink)  
Antiguo 26/01/2007, 07:26
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Duda con jMenu

Hola amigos del foro...

Tengo el siguiente problema: tengo un jMenu, en el que solo la primera opción tiene items en el submenu, para esos el ActionEvent funciona perfecto. Pero necesito que para las otras opciones del menu (que no tienen submenu) se dispare un evento, pero no puedo lograrlo, alguna idea?

El menu es algo como esto:

Crear Actualizar Eliminar
Nuevo
Copiar

De antemano muchas gracias
  #2 (permalink)  
Antiguo 26/01/2007, 20:59
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Re: Duda con jMenu

Hola:
Debería ser igual, añadir un Action a los JMenuItem "Nuevo" y "Copiar" y estos a su vez al JMenu. Tu estructura debería ser asi

JMenu
+---JMenu Algun titulo
| +---JMenuItem Crear
| +---JMenuItem Actualizar
| +---JMenuItem Copiar
+---JMenuItem Nuevo
+---JMenuItem Copiar

Cada JMenuItem debería llevar su propio Action y todo debería ir bien.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 29/01/2007, 12:35
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Re: Duda con jMenu

Muchas gracias, pero no me funciona.

La razon es que no me permite agregar JMenuItem a un JMenuBar, debe ser agregado primero a un JMenu y luego este a un JMenuBar. Y son los JMenu los que no me disparan el evento ActionEvent.

Modelo del Menú:
+---JMenu Crear
| +---JMenuItem Nuevo
| +---JMenuItem Copiar
+---JMenu Actualizar
+---JMenu Eliminar

No se si me explico, lo que necesito es capturar el evento de que se ha realizado click en los item del menu principal: Actualizar y Eliminar.

, Si alguien puede ayudarme...
  #4 (permalink)  
Antiguo 29/01/2007, 13:18
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Re: Duda con jMenu

Hola:

Los JMenu sólo sirven para abrir los submenús (a base de JMenuItem) que tienen dentro. No deberías tener que añadir ninguna Action a un JMenu. La forma normal es

Un único JMenuBar como barra horizontal de menú.
En el varios JMenu para que desplieguen menús hacia abajo.
En cada JMenu varios JMenuItem para las opciones de ese menú.

Adicionalmente, en un JMenu puedes añadir más JMenu para obtener diversos niveles de anidamiento de submenús.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 29/01/2007, 14:39
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Re: Duda con jMenu

Saludos chuidiang...

Fijate en algo, mi menú es de la siguiente forma:

+---Crear
| +---Nuevo
| +---Copiar
+---Actualizar
+---Eliminar

Donde Crear, Actualizar y Eliminar, son parte del menu principal. Con la salvedad que Crear contiene 2 submenus.

Lo que yo necesito es que Actualizar y Eliminar tengan el comportamiento de los items del submenu, es decir, que disparen el evento ActionEvent.

Ya probe agregar JMenuItem, directamente en el JMenuBar, pero no me lo permite.

No se si me explico...

De antemano muchas gracias
  #6 (permalink)  
Antiguo 29/01/2007, 22:13
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Re: Duda con jMenu

Hola:

Creo que ya veo cual es el problema. JMenu admite un Action tanto en el constructor como con el método add(). ¿No funciona?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:24.