社区
Java SE
帖子详情
Jtree右击问题!
hxt1227
2008-03-10 12:32:43
我做了一个Jtree有“我的好友”这个节点,这个节点下有又有三个节点:大学同学,高中同学,初中同学。怎么让我单击“我的好友”这个节点与单击“大学同学”这几个节点右击弹出的菜单内容不一样啊?
...全文
92
10
打赏
收藏
Jtree右击问题!
我做了一个Jtree有“我的好友”这个节点,这个节点下有又有三个节点:大学同学,高中同学,初中同学。怎么让我单击“我的好友”这个节点与单击“大学同学”这几个节点右击弹出的菜单内容不一样啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hxt1227
2008-03-17
打赏
举报
回复
呵呵,还没有做出来!!!不做了!结帐吧!!
rxiaozheng
2008-03-13
打赏
举报
回复
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame("JTree Demo");
JTree tree = new JTree();
tree.addMouseListener( new TreeListener() );
JScrollPane scrollPane = new JScrollPane( tree );
frame.getContentPane().add( scrollPane );
frame.pack();
frame.setVisible( true );
frame.setDefaultCloseOperation( javax.swing.JFrame.EXIT_ON_CLOSE );
}
}
class TreeListener implements java.awt.event.MouseListener {
private JPopupMenu popMenu = null;
private JMenuItem menuProperty = null;
public TreeListener() {
this.popMenu = new JPopupMenu();
}
public void mouseReleased(MouseEvent e) {
if( e.isPopupTrigger() ) {
popMenu.removeAll();
TreePath path = ((JTree)e.getComponent()).getPathForLocation(e.getX(), e.getY());
if( path!=null ) {
final DefaultMutableTreeNode node = (DefaultMutableTreeNode)path.getLastPathComponent();
// 这里添加你自己的判断和动作
if( node.isLeaf() ) {
menuProperty = new JMenuItem("Leaf");
menuProperty.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
System.out.println( node.getUserObject() + " is leaf." );
}
} );
} else {
menuProperty = new JMenuItem("Not Leaf");
menuProperty.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
System.out.println( node.getUserObject() + " is not leaf." );
}
} );
}
popMenu.add( menuProperty );
popMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
}
public void mouseClicked(MouseEvent arg0) {
}
public void mouseEntered(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mousePressed(MouseEvent arg0) {
}
}
hxt1227
2008-03-13
打赏
举报
回复
还没有做出来!谁给举个例子??
hxt1227
2008-03-11
打赏
举报
回复
就是在”我的好友“右击弹出来的菜单假如为:添加组,添加用户。而在“大学同学”这个节点上单击弹出的为:查看
好友,聊天 这个菜单。
w358581619
2008-03-11
打赏
举报
回复
'右击弹出的菜单内容不一样'
不理解是什么意思..
rxiaozheng
2008-03-11
打赏
举报
回复
对节点类型A,设置userobject为class 1, 对节点类型B,设置userobject为class 2.
获取节点时,判断userobject的class,调用不同的popupMenu
如果节点内容比较固定,可以直接根据节点的值来显示不同的菜单
wunan320
2008-03-11
打赏
举报
回复
先得到选择的结点,根据结点显示不同的菜单不就行了么.
hxt1227
2008-03-11
打赏
举报
回复
怎么添加事件啊??可不可以说的仔细一点啊??
KK3K2005
2008-03-11
打赏
举报
回复
弹出以前的控制在你手中
弹出前先设置菜单
hxt1227
2008-03-10
打赏
举报
回复
??怎么没有人啊????
Java笔记编辑查看器源代码
Java笔记编辑查看器,变形的构造函数。把File对象也放该函数内,以使引用FileIO对象的类更整洁,因为每次文件目录树收起时也触发valueChanged函数,所以此处加if判断是否是收起操作。该判断条件来源与打印((
JTree
) e.getSource()).getSelectionPath()调试,由调试得到的这个判断条件。不知道JAVA内部如何实现的这两个操作,这里得到的路径格式与windows系统要求的不一样,需要处理,判断当前的状态是不是有文件处于编辑状态。如果没有则显示选中的文件内容,因为右键不能选中文件,所以
右击
时自动左击一下,以便得到选择的文件路径,
右击
弹出删除菜单……
Java笔记编辑查看器实例源代码.rar
Java笔记编辑查看器,变形的构造函数。把File对象也放该函数内,以使引用FileIO对象的类更整洁,因为每次文件目录树收起时也触发valueChanged函数,所以此处加if判断是否是收起操作。该判断条件来源与打印((
JTree
) e.getSource()).getSelectionPath()调试,由调试得到的这个判断条件。不知道JAVA内部如何实现的这两个操作,这里得到的路径格式与windows系统要求的不一样,需要处理,判断当前的状态是不是有文件处于编辑状态。如果没有则显示选中的文件内容,因为右键不能选中文件,所以
右击
时自动左击一下,以便得到选择的文件路径,
右击
弹出删除菜单……
Java文本文件操作程序-写笔记软件.rar
Java文本文件操作程序-写笔记软件,里面有比较多的文本操作函数,比如变形的构造函数,把File对象也放该函数内,以使引用FileIO对象的类更整洁,设置自动换行,自动换行则不会出现横向的滚动条,判断当前的状态是不是有文件处于编辑状态,
右击
弹出删除菜单等,注:因为每次文件目录树收起时也触发valueChanged函数,所以此处加if判断是否是收起操作。该判断条件来源与打印((
JTree
) e.getSource()).getSelectionPath()调试。。
基于Java的远程桌面监控源代码.doc
基于Java的远程桌面监控源代码.doc
swing·通讯录项目预备知识之
JTree
---节点右键弹出菜单
首先来介绍
JTree
中的getPathForLocation和setSelectionPath方法 均为API中的介绍: 1. public TreePath getPathForLocation(intx, int y) 返回指定位置处的节点路径。 参数:x - 提供水平像素数的整数,从显示区域左边开始减去左边距y - 提供垂直像素数的整数,从显示区域顶部开始减去顶边距返...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章