Java - Eventos con JTree

   
Vista:

Eventos con JTree

Publicado por gonzalo (84 intervenciones) el 04/07/2016 20:50:32
buenos dias.

una consulta:

tengo una funcion que me ayuda a crear un menu JTree, tengo un evento que me dice cual item fue seleccionado, me regresa el texto del item seleccionado.

aqui la pregunta es: es posible asignarle un valor al menu para que lo regrese en lugar de regresar el texto del menu?

este es el caso: tengo varios menus que se muestran con el mismo texto, pero 1 depende de usuarios y otro depende de empleados, hay manera de diferenciarlos?

gracias por la ayuda


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Tree.addTreeSelectionListener
(
	new TreeSelectionListener()
	{
		public void valueChanged(TreeSelectionEvent e)
		{
			DefaultMutableTreeNode node = (DefaultMutableTreeNode) Tree.getLastSelectedPathComponent();
 
		/* if nothing is selected */ 
			if (node == null)
			{
				return;
			}else
			{
				System.out.println(Tree.getLastSelectedPathComponent()); // aqui regresa el valor del texto del menu.
			}
 
		/* retrieve the node that was selected */ 
			Object nodeInfo = node.getUserObject();
 
		/* React to the node selection. */
 
	}
	}
);
 
FrameMenus.SetTree(Tree);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Eventos con JTree

Publicado por gonzalo (84 intervenciones) el 08/08/2016 20:31:54
como dijo el anima de san peters burgo: nadie sabe, nadie supo.

asi que tube que comprar un libro y leer 500 paginas para llegar a esta solucion:

se agrega el nodo y se le mandan los parametros al menu, en este caso el valor y el texto.


1
node = new DefaultMutableTreeNode(new MiNodo("TabMemberBody","member-body"));


y en esta clase se guarda el item y el texto, se generan los eventos para recuperar ya sea uno o el otro y listo, eso hace el truco, en mi caso resulto muy util espero que sea igual de util para ustedes..

1
2
3
4
5
6
7
8
9
10
11
12
13
class MiNodo
{
	protected String id;
	protected String name;
	public OidNode(String Id, String Name)
	{
		id = Id;
		name = Name;
	}
	public String getId() { return id; }
	public String getName() { return name; }
	public String toString() { return name; }
}

funciona muy bien, yo diria excelente, para quienes usan PHP veran que es muy similar.

salu2, suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar