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

[SOLUCIONADO] Duda con jmenubar

Estas en el tema de Duda con jmenubar en el foro de Java en Foros del Web. Hola, buenas noches, soy novato en esta página y tengo un problema, bueno más bien una duda. Es posible que los componentes agregados en una ...
  #1 (permalink)  
Antiguo 26/09/2015, 23:05
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 8 años, 6 meses
Puntos: 0
Pregunta Duda con jmenubar

Hola, buenas noches, soy novato en esta página y tengo un problema, bueno más bien una duda.
Es posible que los componentes agregados en una jmenubar (jmenu) puedan guardarse en un arraylist de tipo component.
Muchas gracias por su ayuda.
  #2 (permalink)  
Antiguo 27/09/2015, 08:58
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Duda con jmenubar

Hola:

Sí, si es posible.

Código Java:
Ver original
  1. ArrayList<Component> componentes = new ArrayList<Component>();
  2. JMenu unMenu = new JMenu(....);
  3. componentes.add(unMenu);
  4. JMenuItem unItem = new JMenuItem(....);
  5. componentes.add(unItem);
  6. ....

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 27/09/2015, 22:17
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Duda con jmenubar

Muchas gracias, solo tengo una duda hay alguna manera de sacar los componentes que tiene una jmenubar? O sea tengo dos menús, para no ir agregando uno por uno.
Lo que pasa es que debo de dar permisos a cada usuariod e cada menú. A cada uno de estos le asignó un nombre, y en una tabla guardo los permisos que se le asignan a cada usuario. Ya con una consulta ir comparando cada registro con el nombre de cada menú guardados en el arraylist y desactivarlo o activarlo. Muchas gracias por la ayuda.
  #4 (permalink)  
Antiguo 28/09/2015, 00:55
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Duda con jmenubar

Hola:

Los componentes de un jmenubar no pueden estar simultáneamente en dos jmenubar. Dicho esto, sí puedes sacar los componentes. Mira en la API http://docs.oracle.com/javase/7/docs.../JMenuBar.html métodos como getSubElements() , pero como te comento, no puedes sacar un elemento de un menú para añadirlo al otro (creo que esa es la intención que tienes, aunque no estoy seguro).

Haz una clase que herede de JMenuBar y dentro de la clase (el constructor o donde quieras), añade todos sus elementos. De esta forma, solo tendrás que hacer dos news de tu clase para tener dos menús iguales (no tengo muy claro si es esto lo que quieres ....)

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 30/09/2015, 00:21
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Duda con jmenubar

Muchas gracias, casi estoy por terminar y me ha servido de mucha ayuda. Una ultima pregunta. El getsubelements (), poniendo un ejemplo que en una jmenubar tengo dos jmenu y cada jmenu tiene dos jmenuitem, solo me guarda los jmenu, habrá algún método o alguna manera de que me guarde tanto jmenu como jmenuitem?
  #6 (permalink)  
Antiguo 30/09/2015, 02:17
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Duda con jmenubar

Hola:

El JMenuItem está dentro del JMenu, así que tendrías que llamar al getsubelements() del JMenu.

jmenus = menuBar.getSubelements() -> te devuelve los JMenu
jmenu[i].getSubelements() -> te devuelve los JMenuItem

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 02/10/2015, 00:30
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Duda con jmenubar

Muchas gracias, por toda tu ayuda.

Etiquetas: netbeans
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 20:23.