したがって、JPanel にボタンとして機能する 3 つの四角形が描画されています。マウスをそのうちの 1 つに合わせると、Jpanel が再描画され、その四角形のみの色が赤に変わります。
私が考えることができる唯一の方法は、マウスが各コンポーネントの上にあるかどうかを決定する3つの個別の変数を持つことです。次に、repaint メソッドにコードがあり、rect1hover が true の場合、g.setColor を使用して赤に描画します。
@Override
public void mouseMoved(MouseEvent e) {
if(rect1.contains(e.getX(), e.getY())){
rect1hover = true;
}
}
しかし、これは非常に効率が悪いようです。これを行うより良い方法はありますか?