Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使jButton更改它';选择了所有选项后,是否为s颜色?_Java_Swing_Colors_Jbutton - Fatal编程技术网

Java 如何使jButton更改它';选择了所有选项后,是否为s颜色?

Java 如何使jButton更改它';选择了所有选项后,是否为s颜色?,java,swing,colors,jbutton,Java,Swing,Colors,Jbutton,大家好:)我希望我的JButton在选择所有选项时更改其颜色,但我不知道如何 我有一个用于6个单选按钮、6个复选框和一个文本字段的ButtonGroup 当选中单选按钮并选中一个或多个复选框且文本字段中有数字(或任何内容)时,JButton将其颜色更改为绿色。我不知道该把行动听众放在哪里,也不知道如何开始,所以如果有人愿意帮助我,我将非常感激 好的,正如你所问的,你可以找到一些代码,但我认为它不相关。本质上,这是我上一个问题的延续。如果您有一种方法,可以根据按钮和文本字段的状态调整按钮的颜色,例

大家好:)我希望我的
JButton
在选择所有选项时更改其颜色,但我不知道如何

我有一个用于6个单选按钮、6个复选框和一个文本字段的
ButtonGroup

当选中单选按钮并选中一个或多个复选框且文本字段中有数字(或任何内容)时,
JButton
将其颜色更改为绿色。我不知道该把行动听众放在哪里,也不知道如何开始,所以如果有人愿意帮助我,我将非常感激


好的,正如你所问的,你可以找到一些代码,但我认为它不相关。本质上,这是我上一个问题的延续。

如果您有一种方法,可以根据按钮和文本字段的状态调整按钮的颜色,例如

public void updateButtonColor(){
  if ( isAtLeastOneRadioButtonSelected() && isAtLeastOneCheckBoxSelected() && 
       textFieldContainsNumber() ){
      changeButtonColor( Color.green );
   } else {
      changeButtonColor( Color.red );
   }
}

您可以向每个单选按钮、复选框和文本字段添加侦听器,以便在组件的相关状态更改时调用
updateButtonColor
方法(例如,将
ItemListener
添加到
JCheckBox
以检测选择中的更改)

您应该显示一些代码,说明您已经组合在一起的内容。否则,您实际上是在请求某人编写表单处理程序。您将ActionListener添加到任何需要选择的东西中,以便JButton处于活动状态。侦听器将检查需要选择的所有内容是否都已选择。我建议您不要设置充满外观问题的JButton背景色,而是通过
setEnabled(boolean enabled)
方法更改JButton的启用状态。
setEnabled
的建议+1@HovercraftFullOfEels@AlejandraUzelac有一些例子说明了如何将听众与这些,然后,这些监听器就可以调用这个方法了,我将IsAtleAsToGeneradioButtonSelected(isRadioSelected)等等作为布尔值,对于单选按钮,我将ItemStateChanged事件:
if(jRadioButton1.isSelected()){isRadioSelected=true;updateButtonColor();}
对于复选框以及带有代码的ItemStateChanged事件:
if(checkbox1.getState()==true){isChecked=true;updateButtonColor();}
我收到一个错误,但仍然有效,但我不知道如何检查jTextBox中是否有文本。。。我应该使用哪个事件?@AlejandraUzelac
DocumentListener
s是在输入/删除文本时更新的事件。。。在文本字段中,我使用的是NetBeans,没有DocumentListener-