读书人

java中怎么刷新JTree的节点信息?

发布时间: 2012-02-21 16:26:23 作者: rapoo

java中如何刷新JTree的节点信息??
JTree这样创建:
DefaultMutableTreeNode biology = new DefaultMutableTreeNode ( "Biology ");
DefaultMutableTreeNode animal = new DefaultMutableTreeNode ( "Animal ");
DefaultMutableTreeNode mammal = new DefaultMutableTreeNode ( "Mammal ");
DefaultMutableTreeNode horse = new DefaultMutableTreeNode ( "Horse ");
mammal.add (horse);
animal.add (mammal);
biology.add (animal);
JTree tree= new JTree (biology);

JScrollPane jsp = new JScrollPane(jsp);
..
如果要对tree的全部节点重新赋值,该怎么个写法?还有就是更新节点后怎么写代码来动态更新tree控件?
急!!!。希望不吝赐教!!!!!

[解决办法]
http://java.sun.com/docs/books/tutorial/uiswing/examples/components/index.html#SharedModelDemo
[解决办法]
new DefaultMutableTreeNode (new Data( "Biology "))

public class Data extends Object{
String newString;
public Data(String newString) {
this.newString=newString;
}

/**
* Sets the string to display for this object.
*/
public void setString(String newString) {
this.newString = newString;
}

/**
* Returnes the string to display for this object.
*/
public String string() {
return this.newString;
}

public String toString() {
return this.newString;
}
}


Data Dt=(Data)getSelectedNode().getUserObject();

Dt.setString( "Your String ");

tree.updatUI();

new_chr2008@163.com
[解决办法]
DefaultMutableTreeNode biology = new DefaultMutableTreeNode ( "Biology ");
DefaultMutableTreeNode animal = new DefaultMutableTreeNode ( "Animal ");
DefaultMutableTreeNode mammal = new DefaultMutableTreeNode ( "Mammal ");
DefaultMutableTreeNode horse = new DefaultMutableTreeNode ( "Horse ");

通过程序得到biology等树结点后,通过setUserObject( "你想显示的内容 ")即可
[解决办法]
Swing基于MVC模型,支持Model修改后自动调用Controller更新View。

读书人网 >J2SE开发

热点推荐