マウスオーバーの作成に問題があります。私のアプリには 3 つの小さな画像があり、マウスが画像の境界内にある場合、文字列がその画像の名前を描画します。問題は、マウスが画像の外側に移動すると、描画された文字列が残り、マウスを別の画像の上に移動した場合にのみ変更されることです。したがって、else
ステートメントを追加することは論理的なことだと思いました。そのため、else ステートメントを に変更appName_
する" "
と、最後の画像systemButton_[2]
は目的どおりに機能しますが、他の 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_ = " "; } }