我需要在我的Java GUI中運行後臺線程,該後臺線程僅在單擊按鈕時運行,並在再次單擊該按鈕時暫停。我不完全確定如何設置,但我已經在我的構造函數中放置了一個線程,並且在將特定的布爾值設置爲TRUE時,將內置的while循環設置爲經過。一個按鈕從設置布爾值TRUE或FALSE切換。通過單擊按鈕運行並暫停GUI後臺線程
我在這個圖形用戶界面中的其他一切工作正常。當我嘗試調試線程時,它實際上是在我逐步完成線程時運行的,但是當我嘗試完全運行GUI時沒有任何問題。圖形用戶界面相當大,所以我要放置一部分構造函數和按鈕的動作監聽器。其餘的代碼是不必要的,因爲它工作得很好。我需要知道我在做什麼錯在這裏:
public BasketballGUI() {
// certain labels and buttons
Thread runningSim = new Thread() {
public void run() {
while(simRun) {
// do stuff here
}
}
};
runningSim.start();
}
// other GUI stuff
// actionListener that should run the thread.
class SimButtonListener implements ActionListener {
public void actionPerformed(ActionEvent arg0) {
if(!simRun) {
simRun = true;
sim.setText("Pause Simulator");
}
else if(simRun) {
simRun = false;
sim.setText("Run Simulator");
}
// other stuff in this actionListener
}
}
@LittleChild不,他們不能[[線程#暫停]](http://docs.oracle.com/javase/7/docs/api/java/ lang/Thread.html#suspend%28%29)和['Thread#resume'](http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#resume%28 %29)被棄用,並被認爲是不穩定的... – MadProgrammer 2013-04-30 02:47:07
@原始海報,請顯示一些代碼,請給我們一個想法,你正在嘗試做什麼。 – 2013-04-30 02:48:07
[無代碼示例](http://sscce.org/),無回答 – MadProgrammer 2013-04-30 02:48:08