我有一个组合框,显示各种项目。我想根据鼠标指针下的项目更改工具提示文本。由于无法为每个项目设置工具提示,因此需要更改组合框的工具提示。
如何在鼠标指针下获取项目?我可以设置一个跟踪鼠标移动的事件,然后获取鼠标的点,但是我找不到一个方法来获取组合中与点位置匹配的项。
一棵树有这样的特点:
private class KeyTreeMouseMoveListener implements MouseMoveListener
{
@Override
public void mouseMove( MouseEvent event )
{
TreeItem item = tree.getItem( new Point( event.x, event.y ) );
}
}
但是我找不到一个组合框的类似方法。
比如:
private class ComboMouseMoveListener implements MouseMoveListener
{
@Override
public void mouseMove( MouseEvent event )
{
int index = combo.getIndex( new Point( event.x, event.y ) );
}
}
太好了:-)
1条答案
按热度按时间ss2ws0br1#
好吧,这有点难看,也有点不好的做法,所以不要在家里尝试这个。。。
因此,在用户选择一个项目后,我获取该项目,设置组合工具提示,然后移动光标,使其现在位于组合框上。这个
x + 15
以及y + 35
是从组合框的左上角开始的swag偏移。是的,我知道在程序控制下移动光标是不好的做法,但是它确实显示了所选项目的工具提示。