我正在編寫一個程序,它在點擊開始按鈕時啓動一個循環,我想用停止按鈕停止它。問題是循環開始按鈕在循環完成之前無法工作。 我搜索了類似的問題,並瞭解問題是循環在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;
}
}
}
您必須在新線程中啓動循環。 – halex
@halex你可以發表這個答案:) –
這是當我們使用線程來停止循環! – Bernard