请教大神,如何给JTree的节点添加监听?
我想要对单个节点进行监听 不是对jtree进行监听...而是每个节点都有自己的监听??我重写了渲染器 也重写了DefaultMutableTreeNode,但是这个TreeNode不是组件 不可以添加监听
有哪位大神知道 请求指导....
[ 本帖最后由 w527705090 于 2013-3-21 22:14 编辑 ]
----------------解决方案--------------------------------------------------------
..
----------------解决方案--------------------------------------------------------
高深呢,帮顶
----------------解决方案--------------------------------------------------------
给你增加人气,捧场!
----------------解决方案--------------------------------------------------------
你准备让TreeNode响应什么事件。可以使用原始的监听啊。只要数据发生变化就可以触发监听。
详细点,可以帮你写个demo。
----------------解决方案--------------------------------------------------------
下面我写了一个简单的例子,其实就是一般的JavaBeans应用,你可以根据需要自己按照这个思路去改动。希望可以满足你的需要。
package _0322;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import javax.swing.tree.DefaultMutableTreeNode;
public class TreeNodeListenterTest {
public static void main(String[] args) {
MyTreeNode treeNode = new MyTreeNode("Node", 1);
treeNode.addDataLitenter(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
System.out.println("I am Change!");
}
});
treeNode.setData(4);
}
}
class MyTreeNode extends DefaultMutableTreeNode{
private int data;
private PropertyChangeSupport dataChange = new PropertyChangeSupport(this);
public MyTreeNode(Object userObject, int data) {
super(userObject);
this.data = data;
}
public void setData(int data)
{
int oldData = this.data;
this.data = data;
dataChange.firePropertyChange("data", oldData, data);
}
public void addDataLitenter(PropertyChangeListener listenter)
{
dataChange.addPropertyChangeListener(listenter);
}
public void removeDataLiterter(PropertyChangeListener listenter)
{
dataChange.removePropertyChangeListener(listenter);
}
}
----------------解决方案--------------------------------------------------------
顶。。。。。
----------------解决方案--------------------------------------------------------
顶啊,我也想学习下啊,java确实没有c++学的好。支持
----------------解决方案--------------------------------------------------------
回复 6楼 baifenghan
JTree的渲染器我重写了 但是我无法对他监听...我是想添加鼠标事件 ...对选中的节点进行更改,你提供的方法好像是不行的....----------------解决方案--------------------------------------------------------
顶一下,
----------------解决方案--------------------------------------------------------