Programación en castellano
Inicio > Foros > Java y XML > JTREE+ XML
-Foros de debate

Java y XML
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

JTREE+ XML
Enviado por alexluna el día 7 de julio de 2006

hola gente, mando este trozo de codigo, se trata de un xml en Jtree y mi duda es la siguiente, como puedo armar un metodo recursivo para mostrar los nodos del arbol, jerarquicamente hacia arribaaa. mostarar los muestra pero no recursivo, de tal forma que vaya iterando hasta encontrar el corte del xml....... alguien podria ayudarme? gracias !!


private void jTree1MouseClicked(java.awt.event.MouseEvent e) {//GEN-FIRST:event_jTree1MouseClicked


if (e.getClickCount() == 1) {
if (e.getButton() == MouseEvent.BUTTON1) {
int selRow = jTree1.getRowForLocation(e.getX(), e.getY());
if (selRow != -1) {
TreePath selPath = jTree1.getPathForLocation(e.getX(), e.getY());
DefaultMutableTreeNode node = (DefaultMutableTreeNode)(selPath.getLastPathComponent());
//System.out.println(node.toString());//imprime todo el arbol respetando el click de cada nodo!

{

//System.out.println(" " + path.getLastPathComponent());
TreePath path = jTree1.getSelectionPath();
System.out.println("" + path.toString());



}
}

}
}
}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ArbolClick().setVisible(true);
}
});
}

// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JProgressBar jProgressBar1;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTree jTree1;

// End of variables declaration//GEN-END:variables
private DefaultMutableTreeNode populate() {
Document o = null;
try {
o = DocumentHelper.parseText(getXml());
}
catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element rootElement = o.getRootElement();
DefaultMutableTreeNode root = new DefaultMutableTreeNode(rootElement.getName());
iterate(rootElement, root);
//return new JTree(root);
return root;
}

private void iterate(Element o, DefaultMutableTreeNode root) {

for (Iterator hijos = o.elementIterator(); hijos.hasNext();){
Element element = (Element) hijos.next();
DefaultMutableTreeNode oRootChild = new DefaultMutableTreeNode(
element.getName());
root.add(oRootChild);
if (!element.isTextOnly()) {
iterate(element, oRootChild);
} else {
oRootChild.add(new DefaultMutableTreeNode(element.getText()));

}
}

}

private String getXml() {
String xml = "<esbusDesigner1>"
+ "<abuelo1><padre1><hijo1>hola</hijo1></padre1></abuelo1>"
+ "<abuelo2><padre2><hijo2>chau</hijo2></padre2></abuelo2>"
+ "<abuelo3><padre3><hijo3>chau</hijo3></padre3></abuelo3>"
+ "</esbusDesigner1>";
return xml;
}
}

 

Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados