実際の問題について質問しましたが、解決策が見つからなかったので、もっとオープンにしようと思います。Java に特定の入力を待機させるにはどうすればよいですか? 現在、別のクラスで ActionEvent が発生するまで更新されない変数を調べる半無限の while ループがあります。しかし、私はスレッドやその他のことについて読んでいましたが、誰かがこのトピックについて少し詳しく説明できるかどうか興味がありましたか? 基本的に、私は GUI で作業しています。ウィンドウがポップアップしてパスワードを要求し、ボタンを押すと、変数が変更されてループが終了します。最も奇妙な点は、学校のコンピューターでは機能するが、私のコンピューターでは機能しないことです。JDKを再インストールしましたが、それだけではありません。速度の問題である可能性があることがわかりましたが、print ステートメントを使用すると、変数が更新されていることがわかりますが、それを見るのをやめるだけだと思います。
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;
}
それが役立つコードがあります。多かれ少なかれ実行される順序である必要がありますが、すべてが 1 つのブロックではなく、複数のクラスとすべてです。volatile を使用しようとしましたが、何もしませんでした。