我问了一个关于我的实际问题的问题,但没有解决方案出现,所以我会尽量让它更加开放,我该如何让java等待某个输入?目前我有一个半无限while循环,它查看一个变量,直到ActionEvent在另一个类中触发时才会更新。不过,我已经读过关于线程和其他一些东西,是否好奇,是否有人可以详细阐述这个话题?基本上我正在一个GUI上工作,我的窗口弹出并要求输入密码,并且当按下按钮来改变变量以退出循环时。最奇怪的部分是它在学校电脑上运行,但不是我自己的。我甚至重新安装了我的JDK,但那不是。事实证明,这可能是一个速度问题,但通过打印声明,我发现变量得到更新,而我只是停止看它。如何让java等待
private static boolean running=true;
while(running){
}
...
public void actionPerformed(ActionEvent e){
String temp = new String("");
for(int x=0;x<passwordInput.getPassword().length;x++)
temp+=passwordInput.getPassword()[x];
PWCoder.passwordCheck(temp);
}
...
public static void passwordCheck(String pass){
if(pass.equals(password)){
correctPW = true;
}
else if(pass.equals(overKey))
PWCoder.override(password);
doneRunning();
}
...
public static void doneRunning(){
running = false;
}
这里有它的帮助代码。应该或多或少地按照执行的顺序进行,但并不是全部都是一个块,是多个类和所有类。我试图使用易失性,没有做任何事情。
你不得不分享您的代码 – 2013-03-07 01:27:54
的相关章节[如何使用对话框(http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html)? – MadProgrammer 2013-03-07 01:30:55
使用自旋锁来处理模态对话框意味着最有可能有更好的方法来实现你想要的。尝试重构您的代码以更基于事件,特别是如果您使用默认的Swing UI类。 – 2013-03-07 01:37:48