【发布时间】:2014-04-23 14:48:53
【问题描述】:
我的目标是当有人在某个 JTextField 中键入单词“Physique”时启用两个复选框。
所以:
Press button
Button reads text in JTextField
if text in field is equal to Physique
then enable Checkboxes Three and Four.
但是,当在 JTextField 中输入文本时,我无法使其响应
String greatOne = skillGreat1JTextField.getText();
if ( greatOne.equals( "Physique" ) ) {
physStress3CheckBox.setEnabled( true );
physStress4CheckBox.setEnabled( true );
}
当我按下应用按钮时触发,但出于某种原因。这个 if 语句似乎没有执行,因为在将 Physique 输入到 JTextField 时,复选框从未启用
有人知道为什么这不会执行吗?我很茫然。
[编辑]
这里还有一些代码。当我按下一个名为 Apply 的按钮时,这应该会执行。
public void applyJButtonActionPerformed( ActionEvent event ) {
String greatOne = skillGreat1JTextField.getText();
if ( greatOne.equals( "Physique" ) ) {
physStress3CheckBox.setEnabled( true );
physStress4CheckBox.setEnabled( true );
}
}
这是 IF 语句,下面是按钮的代码:
applyJButton.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent event ) {
applyJButtonActionPerformed( event );
}
}
);
另外,回复 Rudi,我应该使用 OnClickListener 吗?我一直在使用 ActionListener。
[最后编辑]
我想通了。事实证明,我的问题与事件中稍后发生的事情发生冲突,我只是在它刚刚打开之后取出了 Turning them back off 的代码行他们上。感谢大家的帮助。
System.out.println("Some text");
这一行文字解决了我的整个问题。再次感谢大家!你保存了我的 FATE 游戏。
【问题讨论】:
-
澄清一下,上面的代码在哪里?它在按钮的 OnClickListener 内吗?另外,你有什么例外吗?如果你把
System.out.println("Is running")放到if语句中,是不是打印出来了? -
提供更多代码,你在哪里调用这个if语句?
-
编辑了我原来的帖子以反映额外的问题。
-
我认为 OP 的意思是
tick复选框。在这种情况下,他应该使用setSelected(true)。 -
感谢鲁迪和匿名者。 System.out.println("一些文本");解决了我的问题。只是一个简单的逻辑错误。谢谢大家。
标签: java if-statement checkbox jtextfield