我问了一个关于我的实际问题的问题,但没有出现解决方案,所以我会尝试更加开放,我怎样才能让 java 等待某个输入?目前,我有一个半无限的 while 循环,它查看一个在另一个类中触发 ActionEvent 之前不会更新的变量。但是,我已经阅读了有关线程和其他一些内容的内容,很好奇是否有人可以详细说明这个主题?基本上我正在使用 GUI,我的窗口会弹出并要求输入密码,当按下按钮时会更改变量以退出循环。最奇怪的是它可以在学校计算机上运行,但不能在我自己的计算机上运行。我什至重新安装了我的 JDK,但事实并非如此。提出这可能是一个速度问题,但是通过打印语句,我看到变量已更新,而我猜只是停止查看它。
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;
}
有它会帮助的代码。应该或多或少按照它执行的顺序,但它不是一个块,而是多个类和所有。我尝试使用 volatile,但没有做任何事情。