hola compañeros estoy pensando en crear un JTree generandolo dependiendo de algunos valores que le doy como parametro por ejemplo.
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);
ahora va la clase que genera
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);
}
}
bueno ese parametro de String lo envio donde 1 significa que genere la hoja y 0 indica que no genera nada
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