esta parte es el main del programa
Código PHP:
private Object[]obj={
"(ADM)",
new Object[]{
"Mantenimiento",
"Empleado",
"Usuario",
"Producto",
"Proveedor",
"Cliente",
},
};
String consulta = "11111";
MyTreePermiso p = new MyTreePermiso(obj,consulta); // clase que genera el jtree
this.setLayout(new BorderLayout());
this.add(p,BorderLayout.CENTER);
Código PHP:
public class MyTree extends JPanel {
private JTree arbol;
private Object p[];
private DefaultMutableTreeNode raiz;
private String r;
public MyTreePermiso(Object permiso[],String permisos){
this.p = permiso;
this.r = permisos;
raiz = ordenarRamas(p);
arbol = new JTree(raiz);
this.add(arbol);
}
private DefaultMutableTreeNode ordenarRamas(Object[]ramas){
DefaultMutableTreeNode nodo = new
DefaultMutableTreeNode(ramas[0]);
DefaultMutableTreeNode hijo = null;
for(int i = 1; i< ramas.length; i++){
Object nodoActual = ramas[i];
char c = r.charAt(i - 1);
System.err.println(nodo);
if(nodoActual instanceof Object[]){
// System.err.println(i);
hijo = ordenarRamas((Object[])nodoActual); //padres
}else{
hijo = new DefaultMutableTreeNode(nodoActual);//hijos
}
nodo.add(hijo);
}
//System.err.println(flag + " " + delay);
return (nodo);
}
}
para que me entiendan tengo que formar el JTree apartir del parametro del String lo malo es que no se como podria recorrer al mismo tiempo mi cadena de String y el array que formo el JTree para indicar que ramas quiero que se muestre (dependiendo del String)por ejemplo : en este ejemplo existen 6 ramas si mi parametro de String envio "100001"
el jtree solo me mostraria "ADM","MANTENIMIENTO","CLIENTE" se puede hacer declarando cada objeto y hacer if con el charAt del String pero no se si se puede hacer con un for en otras palabras algo con menos codigo