スタートボタンをクリックするとループを開始するプログラムを書いていますが、ストップボタンで止めたいです。問題は、ループが完了するまでループ開始ボタンが機能しない場合です。私は同様の質問を検索し、問題はループがactionPerformedにあることを理解しましたが、actionPerformedの外でループを取得することができませんでした。新しいクラスを作ってそれを呼び出すなどしてみましたが、まったく同じことが起こりました。ちなみに私はJavaの初心者でもあり、stackoverflowもあります。何か間違ったことをした場合は、申し訳ありません。
単にコーディングする:
OtherClass obj;
public void actionPerformed(ActionEvent e) {
if(e.getSource() == startButton) {
while(true) {
obj = new OtherClass();
obj.doJob();
}
else if(e.getSource() == stopButton) {
obj.stopLoop();
}
}
public class OtherClass {
private boolean isStopped = false;
public OtherClass() {
}
public void doJob(){
while(true) {
//loop...
if(isStopped) {
break;
}
}
}