我有一个JTextField
命名tf
。用户应该在字段中输入他的名字。我还有一个Jbutton
命名p
我以 p's
的方式编写了以下代码actionListener
仅当用户在文本字段中输入内容时才应运行。但是if statement
里面的代码即使在空文本字段中未输入任何内容,也会运行。
while(true)
{
if(tf.getText()!=null)
{
p.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println("Welcome to Guess the number Game");
System.out.println("You have 3 chances to guess a number between 0 and 10 excluding 10");
ne.remove(p);
}
});
break;
}
}
为什么程序没有按预期运行? 与线程有关吗?
有什么方法可以让 EDT(事件调度线程)进入休眠状态吗?
最佳答案
正如我的评论中所说,这应该可以解决您的问题
while(true) {
if(null != tf.getText() && !tf.getText().equals("")) {
//do stuff
}
}
作为旁注,在处理这样的值时,我倾向于检查 null 和empty 以覆盖所有基础
关于java - 如果语句和 Swing 没有按预期工作,如何让 EDT 进入休眠状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35630195/