| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5134 人关注过本帖
标题:请教大神,如何给JTree的节点添加监听?
只看楼主 加入收藏
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:9 
请教大神,如何给JTree的节点添加监听?
我想要对单个节点进行监听  不是对jtree进行监听...而是每个节点都有自己的监听??
我重写了渲染器  也重写了DefaultMutableTreeNode,但是这个TreeNode不是组件  不可以添加监听
有哪位大神知道  请求指导....


[ 本帖最后由 w527705090 于 2013-3-21 22:14 编辑 ]
搜索更多相关主题的帖子: 指导 如何 
2013-03-21 22:10
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
收藏
得分:2 
..
2013-03-22 14:30
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:2 
高深呢,帮顶


[fly]存在即是合理[/fly]
2013-03-22 15:41
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:2 
给你增加人气,捧场!

www.qunxingw.wang
2013-03-22 15:48
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
收藏
得分:90 
你准备让TreeNode响应什么事件。可以使用原始的监听啊。只要数据发生变化就可以触发监听。
详细点,可以帮你写个demo。
2013-03-22 21:59
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
收藏
得分:0 
下面我写了一个简单的例子,其实就是一般的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);
    }
   
   
   
}
2013-03-22 22:20
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
收藏
得分:2 
顶。。。。。
2013-03-23 12:49
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
收藏
得分:2 
顶啊,我也想学习下啊,java确实没有c++学的好。支持

同学习......同进步....你帮我......我帮你.....上善若水.....
2013-03-23 22:48
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:0 
回复 6楼 baifenghan
JTree的渲染器我重写了 但是我无法对他监听...我是想添加鼠标事件 ...对选中的节点进行更改,你提供的方法好像是不行的....

有心者,千方百计;无心者,千难万难。
2013-03-25 00:00
li1114391600
Rank: 2
等 级:论坛游民
威 望:1
帖 子:28
专家分:30
注 册:2013-3-21
收藏
得分:0 
顶一下,
2013-03-25 11:48
快速回复:请教大神,如何给JTree的节点添加监听?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025756 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved