以下代码是我如何将 JButton 颜色更改为洋红色。我想要做的是当我再次点击同一个按钮时,我希望它恢复到正常颜色。我已经尝试在谷歌搜索,但我似乎无法找到解决此问题的正确答案。如果你们有任何建议请告诉我。谢谢。
Object source = e.getSource();
int s=0;
if (source instanceof Component) {
((Component)source).setBackground(Color.magenta);
s=0;
}
</i>
答案 0 :(得分:1)
boolean switcher = false;
if (source instanceof Component) {
if(switcher)((Component)source).setBackground(Color.OLDCOLOR);
else ((Component)source).setBackground(Color.magenta);
switcher = switcher?false:true;
}
答案 1 :(得分:1)
立即检查颜色:
if (((Component)source).getBackground().equals(Color.magenta)){
((Component)source).setBackground(null);
} else {
((Component)source).setBackground(Color.magenta);
s=0;
}
null将JButton返回到默认颜色
答案 2 :(得分:0)
为什么不实施自己的JButton
?
public class MyButton extends JButton {
private Color on;
private Color off;
private boolean isOn = false;
public void setOnColor(Color on) {
this.on = on;
}
public void setOffColor(Color off) {
this.off = off;
}
public void switchColor() {
if (this.isOn)
super.setBackground(this.on);
else
super.setBackground(this.off);
this.isOn = !this.isOn;
}
}
初始化按钮时
MyButton b = new MyButton();
b.setOffColor(null);
b.setOnColor(Color.MAGENTA);
如果您可以这样做
Object source = e.getSource();
if (source instanceof MyButton) {
((MyButton)source).switchColor();
}