我正在开发一个具有5个不同颜色单选按钮的程序,单击时,背景应更改为相应的颜色。我的背景并没有改变。 我不能为我的生活弄清楚我的代码有什么问题。有人可以帮我找到问题吗?谢谢! 我的代码如下:
public void actionPerformed(ActionEvent e)
{
if (blue.getState()) f.setBackground(Color.blue);
else if (red.getState()) f.setBackground(Color.red);
else if (yellow.getState()) f.setBackground(Color.yellow);
else if (pink.getState()) f.setBackground(Color.pink);
else if (gray.getState()) f.setBackground(Color.gray);
} //end of actionPerformed method
public void itemStateChanged(ItemEvent e)
{
}
答案 0 :(得分:3)
您很可能使用的java.awt.CheckBox
组件(来自your earlier question)响应ItemListeners
而非ActionListeners
。因此,请将代码移至itemStateChanged
方法
public void itemStateChanged(ItemEvent e) {
if (blue.getState()) {
f.setBackground(Color.BLUE);
} else if (red.getState()) {
f.setBackground(Color.RED);
} else if (yellow.getState()) {
f.setBackground(Color.YELLOE);
} else if (pink.getState()) {
f.setBackground(Color.PINK);
} else if (gray.getState()) {
f.setBackground(Color.GRAY);
}
}
Color
常量JCheckBoxes
支持ActionListeners