所以我在我的JPanel上繪製了3個矩形,它們充當按鈕,我想要做的是當鼠標懸停在其中一個上時,Jpanel將重新繪製,並將僅該矩形的顏色更改爲紅色。確定哪個形狀被懸停 - Java
我認爲這樣做的唯一方法是有3個獨立的變量來確定鼠標是否在每個組件上。然後在repaint方法中會有代碼,如果rect1hover爲true,則使用g.setColor繪製紅色。
@Override
public void mouseMoved(MouseEvent e) {
if(rect1.contains(e.getX(), e.getY())){
rect1hover = true;
}
}
但是,這看起來效率很低。有一個更好的方法嗎?