你可以帮我理解我在这段代码中做错了什么吗?此代码的目的很简单 - 根据用户选择3个单选按钮中的一个来更改背景颜色。
我放弃了改变框架的背景颜色,并试图替换我扔在框架顶部的附加面板的背景颜色。
非常感谢任何帮助!谢谢:))
public Ch16_Frame() { initComponents(); }
// this calls method generated automatically using NetBeans GUI Builder. It is simply declaring properties of Swing objects.
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Ch16_Frame test = new Ch16_Frame();
test.setVisible(true);
test.setLocationRelativeTo(null);
test.colorChooser();
}
});
}
public void colorChooser() {
// Color chooser
if (redBackground.isSelected()) {
backgroundPanel.setBackground(Color.red);
}
else if (blueBackground.isSelected()) {
backgroundPanel.setBackground(Color.blue);
}
else if (greenBackground.isSelected()) {
backgroundPanel.setBackground(Color.green);
}
}
答案 0 :(得分:1)
有一件事情浮现在脑海中。您似乎没有实现任何actionlisteners。您有方法可以检查选择了哪个单选按钮,但是您需要实现一个侦听器,当按下单选按钮时,该侦听器实际上会触发一个动作。这需要一些阅读,但我希望这会给你提供你需要继续前进的推动。
https://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html