那麼,這將隨機間隔翻轉一點。你可以添加代碼來調用SwingWorker線程中的某些內容,具體取決於修改後的值。
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.atomic.AtomicBoolean;
public class RandomBitFlip {
public static void main(String[] args) throws InterruptedException {
final AtomicBoolean var = new AtomicBoolean(false);
final Timer timer = new Timer(true);
randomlyFlip(timer, var);
// To demonstrate, print the value every 200ms
for(int x = 0; x < 300; x++) {
System.out.println(var.get());
Thread.sleep(200);
}
}
private static void randomlyFlip(final Timer timer, final AtomicBoolean var) {
final TimerTask task = new TimerTask() {
@Override
public void run() {
var.set(!var.get());
// Call SwingWorker thread here
randomlyFlip(timer, var);
}
};
timer.schedule(task, 500 + (long)(1500 * Math.random()));
}
}
請向我們展示堆棧跟蹤和相關代碼。它太難分辨出空指針在哪裏出現,而沒有任何該信息。 – 2014-10-28 09:27:30
1)爲了更快地獲得更好的幫助,請發佈[MCVE](http://stackoverflow.com/help/mcve)(最小完整可驗證示例)。 2)總是複製/粘貼錯誤和異常輸出! 3)請參閱[什麼是堆棧跟蹤,以及如何使用它來調試我的應用程序錯誤?](http://stackoverflow.com/q/3988788/418556)&[什麼是空指針異常,以及如何我解決它?](http://stackoverflow.com/q/218384/418556) – 2014-10-28 09:27:56
這裏有一些[示例](http://stackoverflow.com/search?tab=votes&q=user%3a230513%20jtogglebutton%20game)使用'JToggleButton'。 – trashgod 2014-10-28 09:45:21