Avatar billede fredand Forsker
25. september 2003 - 16:28 Der er 3 kommentarer og
1 løsning

Expand a certain node in a JTree

Hello!

I got hold of a certain Node in a JTree. Now I need to expand that JTree down to that very Node, but I can't figure out how to do that. It would be pretty good with a method like:

expandObject(Object obj)

... in the JTree, but of course there is no one like that.

So if any one could help me I would be most thankfull.

Best regards
Fredrik
Avatar billede magoo20000 Nybegynder
25. september 2003 - 20:57 #1
You might be able to do a re-write of this code:

http://javaalmanac.com/egs/javax.swing.tree/ExpandAll.html

It expands or collapses all tree nodes in a JTree.

A if block might be able to do the job, e.g.
for(....)
TreeNode n = (TreeNode)e.nextElement();
if(n=="parameterNode"){ expand that node}....

I do not have an IDE where I'm at now but I'll look at it tomorrow.
Avatar billede fredand Forsker
13. september 2004 - 19:08 #2
Hello!

Just give an answer so I can give you the points!

/Fredrik
Avatar billede peterdelphi Nybegynder
12. februar 2005 - 16:32 #3
Hvis du har indsat din node i træet med en DefaultMutableTreeNode kan du på stien fra råden ned til din node:

TreePath path newNode.getPath();

for (int i = 0; i < path.length; i++) {
  DefaultMutalbeTreeNode node = (DefaultMutalbeTreeNode)path[i];
  node.expand() ??? // kan ikke huske hvad metoden hedder
}
myTree.updateUI();

// måske er der en metode på træet:
myTree.expand(path);

Jeg er ikke sikker på dette svar, men det er muligt...
Avatar billede fredand Forsker
18. august 2010 - 12:56 #4
Thanks!

Sorry for the time waiting!

Best regards
Fredrik
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester