关于树的问题,点击树节点的内容,得到此节点内容的ID值? DefaultMutableTreeNode有seObject与getObject方法,生成树的时候set,在事件中获取节点之后再get 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 pxboy(阿土仔) :具体的代码有没有啊?我的生成的树的代码是:public DefaultMutableTreeNode createNodes() { this.root = new DefaultMutableTreeNode("无根节点"); for (int i = 0; i < postlist.size(); i++) { if (pos_list.get(i).equals("0")) { root = new DefaultMutableTreeNode( (String) namelist.get(i)); rootid = idlist.get(i).toString(); if (!rootid.equals("")) { if (poslist.get(i).toString().equals(this.rootid)) { root.add(new DefaultMutableTreeNode( (String) ( namelist. get(i)))); } } break; } } root = this.getNodes(rootid, root); return root; } public DefaultMutableTreeNode getNodes(String rootId, DefaultMutableTreeNode root1) { for (int j = 0; j < postlist.size(); j++) { if (postlist.get(j).toString().equals(rootId)) { DefaultMutableTreeNode root2 = new DefaultMutableTreeNode( ( String) ( namelist.get(j))); root1.add(root2); getNodes(idlist.get(j).toString(), root2); } } return root1; } 需要在哪儿写set?root.add(new DefaultMutableTreeNode( (String) (namelist.get(i))));如何改?root.set??? root.add(new DefaultMutableTreeNode( (String) ( namelist. get(i))));这里可以改成:DefaultMutableTreeNode node = new DefaultMutableTreeNode( (String) ( namelist. get(i)))node.setObject(Object); pxboy(阿土仔) :不行啊,我试过了,DefaultMutableTreeNode没有setObject的方法,只有setUserObject的方法,我试以后,发现,树显示时的节点内容也被改变了。其实现在就是我想有一个节点,例如:节点的内容:学校,我现在就是想点击它的时候,得到一个“210000”的值。DefaultMutableTreeNode node = new DefaultMutableTreeNode("学校");node.setUserObject("210000");这时候节点的显示内容就变成了210000了。怎么解决呢? 是应该用setUserObject,sorry记错了,你可以自己封装一个对象,在这个对象里加上一些属性,重写它的toString()方法,再getUserObject()返回这个对象,使用它的属性就是了 DefaultMutableTreeNode node = new DefaultMutableTreeNode("学校");MyObject myObject = new MyObject();myObject.setName("学校");myOjbect.setId("210000");node.setUserObject(myObject);这个MyObject就不用我写了吧?记得重写toString()方法,你就可以想它显示你想要的 阿士仔:谢谢你,我本来以为这次终于可以好用了,我另外做了一个类,叫MyObject,设置了getName,setName,getCode,setCode的方法。在APPLET里引用它,可是一引入MyObject myObject = new MyObject();树就显示不出来了。太郁闷了,这是怎么回事啊? JAVA语言初学者提出的一些初级问题,望指教 javabean之间互相调用的变量问题 如何转换路径中的"\"? 新手, 两个日期怎么比较。 关于java3d,诚心向各位高手请教 加密后的文件和原文件的大小一样吗? intellijideal 安装的时候出现"更多数据可用"的win32Error 编码转化的问题,如何在java中将JIS转化成SJIS。谢谢。 有关调用WORD的问题 网络上那些java免费公开课是否有用 怎样构造一个JTree,根据数据库的内容构造!!在线!急. 是哪里非法?
具体的代码有没有啊?我的生成的树的代码是:
public DefaultMutableTreeNode createNodes() {
this.root = new DefaultMutableTreeNode("无根节点");
for (int i = 0; i < postlist.size(); i++) {
if (pos_list.get(i).equals("0")) {
root = new DefaultMutableTreeNode( (String) namelist.get(i));
rootid = idlist.get(i).toString(); if (!rootid.equals("")) { if (poslist.get(i).toString().equals(this.rootid)) {
root.add(new DefaultMutableTreeNode( (String) (
namelist.
get(i))));
}
}
break;
} }
root = this.getNodes(rootid, root);
return root;
} public DefaultMutableTreeNode getNodes(String rootId,
DefaultMutableTreeNode root1) {
for (int j = 0; j < postlist.size(); j++) {
if (postlist.get(j).toString().equals(rootId)) {
DefaultMutableTreeNode root2 = new DefaultMutableTreeNode( (
String) (
namelist.get(j)));
root1.add(root2);
getNodes(idlist.get(j).toString(), root2);
}
}
return root1;
}
root.add(new DefaultMutableTreeNode( (String) (namelist.get(i))));
如何改?
root.set???
namelist.
get(i))));
这里可以改成:
DefaultMutableTreeNode node = new DefaultMutableTreeNode( (String) (
namelist.
get(i)))
node.setObject(Object);
不行啊,我试过了,DefaultMutableTreeNode没有setObject的方法,只有setUserObject的方法,我试以后,发现,树显示时的节点内容也被改变了。
其实现在就是我想有一个节点,
例如:节点的内容:学校,我现在就是想点击它的时候,得到一个“210000”的值。
DefaultMutableTreeNode node = new DefaultMutableTreeNode("学校");
node.setUserObject("210000");这时候节点的显示内容就变成了210000了。
怎么解决呢?
你可以自己封装一个对象,在这个对象里加上一些属性,重写它的toString()方法,
再getUserObject()返回这个对象,使用它的属性就是了
MyObject myObject = new MyObject();
myObject.setName("学校");
myOjbect.setId("210000");
node.setUserObject(myObject);
这个MyObject就不用我写了吧?记得重写toString()方法,你就可以想它显示你想要的
谢谢你,我本来以为这次终于可以好用了,
我另外做了一个类,叫MyObject,设置了getName,setName,getCode,setCode的方法。
在APPLET里引用它,可是一引入
MyObject myObject = new MyObject();
树就显示不出来了。
太郁闷了,这是怎么回事啊?