Red de conocimiento informático - Aprendizaje de programación - Código fuente de Javatreenode

Código fuente de Javatreenode

El componente JTree se utiliza para mostrar datos en forma de árbol, capa por capa, que parece claro y conciso, lo que facilita a los usuarios comprender la relación jerárquica entre los nodos y encontrar fácilmente datos relevantes.

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

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;

}

}