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)