在鼠标悬停时显示GEF中的嵌套数字没有问题。在mouseHover(MouseEvent me)
,add(IFigure)
和mouseExited(MouseEvent me)
上,我删除了该数字。
但是只要我添加一个Button
(Draw2d),或者我添加一个附加MouseListener()
的数字,现在当我将鼠标悬停在新添加的数字上时(在父项内)它消失了。
我认为问题在于第一个数字调用了mouseExited(MouseEvent me)
方法。
所以,我在父图mouseExited(MouseEvent me)
中执行了此操作:
Point exitLocation = me.getLocation();
if (containsPoint(exitLocation.x, exitLocation.y) == false) {
remove(childFigure);
}
我在鼠标退出时看到,如果它仍然在父图的范围内,则不会删除子图。
但这大部分时间都有效。有时我的鼠标完全不在父图中,但子图不会从父图中删除。我不知道发生了什么。
这是一个错误吗?或者有更好的方法吗?
答案 0 :(得分:0)
我建议尝试使用不同的策略来隐藏/显示数字:
child.setVisible(false)
add()
和remove()
setVisible(false)
和setVisible(true)
次调用
醇>