创建鼠标悬停时遇到问题。在我的应用程序中,我有 3 个小图像,当鼠标在图像范围内时,一个字符串将绘制该图像的名称。问题是当鼠标移出图像时,绘制的字符串仍然存在,并且只有当我将鼠标移到另一个图像上时才会改变。所以我认为添加一个else
语句是合乎逻辑的事情。因此,对于应该更改appName_
为的 else 语句" "
,最后一个图像systemButton_[2]
可以按需要工作,但其他两个根本不会在屏幕上绘制字符串。
简而言之:
注释掉
else
后,每个图像都会触发为鼠标移动的当前图像绘制适当的名称,但不会像" "
鼠标移出图像时那样重绘字符串。在
else
未注释的情况下,最后一个图像可以正常绘制字符串并将字符串返回到" "
鼠标在图像之外时,但其他图像完全停止工作。@Override public void mouseMoved(MouseEvent event) { super.mouseMoved(event); Point mousePosition = event.getPoint(); for (int i = 0; i < systemButton_.length; i++) { if (systemButton_[i].getButtonDimesion().contains(mousePosition)) { switch (i) { case 0 : appName_ = systemButton_[0].getName(); break; case 1 : appName_ = systemButton_[1].getName(); break; case 2 : appName_ = systemButton_[2].getName(); break; } } else appName_ = " "; } }