所以我在我的 JPanel 上绘制了 3 个用作按钮的矩形,我想做的是当鼠标悬停在其中一个上时,Jpanel 将重新绘制,并将仅该矩形的颜色更改为红色。
我能想到的唯一方法是有 3 个单独的变量来确定鼠标是否在每个组件上。然后在 repaint 方法中会有代码,如果 rect1hover 为真,则使用 g.setColor 绘制为红色。
@Override
public void mouseMoved(MouseEvent e) {
if(rect1.contains(e.getX(), e.getY())){
rect1hover = true;
}
}
但这似乎真的效率低下。有一个更好的方法吗?