gpt4 book ai didi

java - 带有鼠标运动监听器的 JTree

转载 作者:行者123 更新时间:2023-12-04 05:27:41 28 4
gpt4 key购买 nike

我有一个 JTree当用户将鼠标悬停在树节点上时,我想向用户显示一些描述。

我从文档中读到我们可以使用 MouseMotionListener为此。但是我怎样才能获得鼠标移动到的节点的值呢?

任何指针都会非常有用。

最佳答案

MouseEvent 获取节点值的一种方法是得到一个TreePath获取鼠标的 x,y 位置并从此路径获取最后一个路径组件。

这可能看起来像这样:

import javax.swing.tree.TreePath;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JTree;
...

final JTree tree = new ...
tree.addMouseMotionListener(new MouseMotionListener() {

@Override
public void mouseMoved(MouseEvent e)
{
TreePath path = tree.getPathForLocation(e.getX(), e.getY());
if(path == null || path.getLastPathComponent() == null)
{
return;
}

Object nodeHoveredOver = path.getLastPathComponent();
System.out.println(path.getLastPathComponent());
}

@Override
public void mouseDragged(MouseEvent e)
{
...
}
});

但是,如果您想将您的描述显示为工具提示,则此 this solution可能更适合你。

关于java - 带有鼠标运动监听器的 JTree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13008138/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com