我希望我的按钮在鼠标(悬停),按下(活动)时改变颜色,并保持这种状态,直到用户选择其他选项为止。因此,将始终选择其中之一。
我有三个按钮-分别是冰锥,方形和三角形。我的代码:
private static MouseListener ButtonMouseListener = new MouseAdapter () {
public void mouseEntered(MouseEvent evt) {
Component source = evt.getComponent();
source.setBackground(new Color(91, 90, 90));
}
public void mouseExited(MouseEvent evt) {
Component source = evt.getComponent();
source.setBackground(new Color(64, 64, 64));
}
public void mousePressed(MouseEvent evt) {
Component source = evt.getComponent();
source.setBackground(new Color(46, 46, 46));
}
};
因此,我希望按钮在将鼠标悬停在
(mouseEntered)
上时更改颜色,并在有人停止悬停时再次将颜色更改为默认颜色(这就是为什么我使用mouseExited
的原因)。接下来的事情是我希望它们在被选择时改变颜色,所以mousePressed
。问题是,当我将光标移到按钮外时,由于mouseExited
它将变为另一种颜色,而我不希望那样。它必须保持“按下的颜色”,直到用户选择三个按钮中的另一个。我不知道如何实现这一目标,我尝试了不同的选择,但没有任何方法可以实现我想要的方式。 最佳答案
要更改输入颜色,您需要实现事件->鼠标-> mouseEntered
。确保在mouseExited
上实现它
鼠标按下颜色更改时,您需要实现Event-> Action。在actionPerformed
中,您可以设置按钮颜色。例如 :
jButton7.setBackground(new Color(11, 118, 219));
jButton1.setBackground(new Color(15,44,123));
jButton8.setBackground(new Color(15,44,123));
jButton9.setBackground(new Color(15,44,123));