JTree copy Select to JTree2

1 resposta
I

Poise estou quebrando a cabeca aqui com o select do JTree para que saia uma copia igual para um outro JTree
sendo que so o que foi selecionado sairia no segundo jTree, no codigo que estou mandando abaixo segue a funcao do botao que manda o evento copy select, so que na hora de criar o node 2 3 4 ele so cria ate o 2 exemplo:
root
Colors
Azul
Azul Calcinha
Azul Escuro
Obs.: O Azul escuro e Azul calcinha deveria entrar no node Azul (root) sendo filhos dele, mas permanece filhos do Colors para orientar coloquei o numero do node onde deviria se encontrar na frente de cada Item Selecionado segue entao o codigo:


private void jButton2ActionPerformed(ActionEvent evt) {

Object[] novoObject = jTree1.getSelectionPath().getPath();

while (novoObject.length > varContaLoop)

setNodeSelect(novoObject);

varContaLoop = 0;

setNodeList();

}

protected void setNodeList() {

DefaultMutableTreeNode tempNode = null;

tempNode = new DefaultMutableTreeNode(varNodeUse.get(0));

varMutableNode.add(tempNode);

for (int i = 1; i < varNodeUse.size(); i++) {

tempNode = new DefaultMutableTreeNode(varNodeUse.get(i));

int varNodeLocal = getNodeLocal(String.valueOf(varNodeUse.get(i)));

if (varNodeLocal > 0)

varNodeLocal = varNodeLocal - 1;

if ((i == 0) && (varNodeLocal <= 0))

varMutableNode.get(varNodeLocal).add(tempNode);

}

for (int i = 0; i < varMutableNode.size(); i++) {

root.add(varNodeUse.get(i));

}

DefaultTreeModel varModelAdd = new DefaultTreeModel(root);

jTree2.setModel(varModelAdd);

jTree1.clearSelection();

}
protected int getNodeLocal(String varNodeNome) {

String Palavra = “”;

int x = 1;

while ((varNodeNome.length() > x)

&& (!String.valueOf(varNodeNome.charAt(x)).equals("]"))) {

if (!String.valueOf(varNodeNome.charAt(x)).equals("]"))

Palavra = Palavra + varNodeNome.charAt(x);

x++;

}

return Integer.parseInt(Palavra);
}
protected void setNodeSelect(Object[] varSelect) {

boolean varBool = false;

int y = 0;

int NodeSize = varNodeUse.size();

for (int x = 0; x < NodeSize; x++) {

while (y < varNodeUse.size()) {

if (("[" + y + ] + String.valueOf(varSelect[varContaLoop])).equals(String.valueOf(varNodeUse.get(y))))

varBool = true;

y++;

}

}

if (varNodeUse.size() <= 1)

varNodeUse.add(new DefaultMutableTreeNode("[" + varContaLoop + ]

+ String.valueOf(varSelect[varContaLoop])));

else {

if (!varBool) {

varNodeUse.add(new DefaultMutableTreeNode("[" + varContaLoop

+ ] + String.valueOf(varSelect[varContaLoop])));

}

}

varContaLoop++;

}

1 Resposta

ViniGodoy

Por favor, edite seu post usando essas dicas:
http://www.guj.com.br/posts/list/50115.java

Criado 25 de junho de 2008
Ultima resposta 26 de jun. de 2008
Respostas 1
Participantes 2