-1

如何使用JTextField来创建我的程序以启用/禁用文本字段,具体取决于是否选中了复选框?

我有一个选项,如果选中,则需要输入。如果未选中,我希望文本字段保持灰色,用户无法输入文本。

4

2 回答 2

1

mchq08 没有给出完整的答案,因为如果未选中 JCheckBox,他的代码将什么也不做。您不需要 if 块,因为您只需要项目侦听器中的一行代码

checkBox.addItemListener(new ItemListener() {
  public void itemStateChanged(ItemEvent itemEvent){
    // the line below is the line that matters, that enables/disables the text field
    textField.setEnabled(itemEvent.getStateChange() == ItemEvent.SELECTED);
  }
});
于 2013-05-19T00:12:35.290 回答
0

您可以在事件侦听器中使用带有简单 if/else 语句的复选框来完成该任务。

您可能希望将其放入复选框的事件侦听器中,以便在触发事件时允许它可编辑。如果复选框为假,您还可以更进一步并创建另一个 if/else 并删除文本框中的文本并将其设置为可编辑。

if(checkBox.isEnabled()){
   textBox.setEditable(true);
}

链接复选框 链接文本框

于 2013-05-18T20:11:05.057 回答