如何使用JTextField
创建我的程序以启用/禁用文本字段,具体取决于是否勾选了复选框?
我有一个选项,如果选中,则需要输入。如果没有选中,我希望文本字段保持灰色,用户无法输入文字。
答案 0 :(得分: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);
}
});
答案 1 :(得分:0)
您可以使用复选框在事件侦听器中使用简单的if / else语句来执行该任务。
您可能希望将其放入复选框的事件监听器中,因此当事件被触发时,它将允许它可编辑。如果复选框为false,您还可以更进一步创建另一个if / else,并删除文本框中的文本并将其设置为可编辑。
if(checkBox.isEnabled()){
textBox.setEditable(true);
}