Código fuente de Javatreenode
Por ejemplo, el administrador de archivos del sistema Windows tiene una estructura jerárquica de árbol típica.
Constructor JTree:
JTree() construye un árbol predeterminado.
JTree (datos de tabla hash) utiliza una tabla hash para construir un árbol.
JTree (objeto [] datos) utiliza matrices para construir árboles.
JTree (modelo TreeModel) utiliza TreeModel para construir árboles.
JTree (treenoderoot) crea un árbol con root como raíz.
JTree (treenoderoot, hijos booleanos) crea un árbol enraizado y establece si se permiten subárboles.
JTree(valor vectorial) utiliza vectores para construir árboles.
Usando JTree se puede expresar simplemente de la siguiente manera:
¿Importar? javax.swing.jframe;
¿Importar? javax.swing.jtree;
¿Importar? javax . swing evento .treeselectionevent;
¿Importar? javax . swing evento .treeselectionlistener;
¿Importar? javax . swing . árbol . defaultmutabletreenode;
¿Público? ¿clase? ¿Demo del árbol? {
¿Público? ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? {
//?Cree un nodo de árbol que no tenga nodos principales ni secundarios pero que permita nodos secundarios y lo inicialice con el objeto de usuario especificado.
//?Público? DefaultMutableTreeNode(¿Objeto? Objeto de usuario)
¿DefaultMutableTreeNode? nodo1? =?¿Nuevo? DefaultMutableTreeNode("Departamento de software");
node1.add(New?DefaultMutableTreeNode(New?User("小花"));
node1.add(New?DefaultMutableTreeNode(New? usuario("Tigre"));
node1.add(new?DefaultMutableTreeNode(new?usuario("Pequeño Dragón"));
DefaultMutableTreeNode?node2?=?new?DefaultMutableTreeNode ("Departamento de ventas");
node2.add(new?DefaultMutableTreeNode(new?User("小叶"));
node2.add(new?DefaultMutableTreeNode(new?User ) ("Xiaowen"));
node2.add(new?DefaultMutableTreeNode(new?user("Xiaoxia"));
DefaultMutableTreeNode?top?=?new?DefaultMutableTreeNode ( "Gestión de personal");
top.add(New?DefaultMutableTreeNode(New?User("Gerente general"));
top.add(nodo 1);
top.add(nodo 1);
p>
top .add(nodo 2);
final?JTree?= ?JTree(arriba);
JFrame? ?JFrame("JTreeDemo");
f.add(árbol);
f.setSize(300, ?300);
f.set visible(true);
f. setdefaultcloseoperation(JFrame.EXIT_ON_CLOSE);
//?Agregar evento de selección p>
tree.addTreeSelectionListener(new ?TreeSelectionListener()? {
@Override? ¿valor cambiado(TreeSelectionEvent?e)? {
¿Nodo? )? Árbol
.
getLastSelectedPathComponent();
¿Si? (Nodo?==?null)
Devolver;
¿Objeto? ¿Objeto? =?nodo .obtener objeto de usuario();
Si? (nodo.isLeaf())? {
¿Usuario? ¿usuario? =?(usuario)? Objeto;
System.out.println("Usted seleccionó: "? ?user . tostring());
}
}
});
}
}
¿Clase? ¿usuario? {
¿Privado? ¿Cadena? Nombre;
¿Público? Usuario(Cadena?n)? {
¿Nombre? =?n;
}
//?El foco está en toString y el texto mostrado del nodo es toString.
¿Público? ¿Cadena? aCadena()? {
¿Volver? Nombre;
}
}