jtree 部分监听
【摘要】
package examples.tree;
import javax.swing.*;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import java.awt.*;
import java.awt.event.MouseAdapter;
impo...
package examples.tree; import javax.swing.*; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class CheckBoxTreeNodeSelectionListener extends MouseAdapter { @Override public void mouseClicked(MouseEvent event) { if (event.getClickCount() == 2 &&event.getButton() == MouseEvent.BUTTON1) { // 处理鼠标双击 System.out.println("222222222222"); } else if (event.getClickCount() == 1&&event.getButton() == MouseEvent.BUTTON1) { JTree tree = (JTree) event.getSource(); int x = event.getX(); int y = event.getY(); int row = tree.getRowForLocation(x, y); TreePath path = tree.getPathForRow(row); if (path != null) { Rectangle pathBounds = tree.getPathBounds(path); if (pathBounds != null) { if(x>60 && pathBounds.x<40){ return; }else if(x>42 && pathBounds.x<20){ return; }else if(x>24 && pathBounds.x<5){ return; } System.out.println("x:" + x + " " + pathBounds.x + " "); CheckBoxTreeNode node = (CheckBoxTreeNode) path.getLastPathComponent(); if (node != null) { boolean isSelected = !node.isSelected(); node.setSelected(isSelected); ((DefaultTreeModel) tree.getModel()).nodeStructureChanged(node); } } } } } }
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/72972709
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)