我完全知道很少有人問過之前的非常類似的問題。我試圖實施提供的解決方案 - 徒勞無功。 ...我面臨的問題是閃爍按鈕ONE AFTER ANOTHER。我可以做一個,但是當把閃爍的順序放在一個循環中時 - 一切都會中斷。任何幫助到Java的新人表示讚賞。附:我不允許使用線程。什麼我現在有是:java Swing timer一個接一個地執行幾項任務
Timer colorButton = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < pcArray.length; i++) {
playSquare = pcArray[i];
System.out.println("PlaySquare " + playSquare);
if (playSquare == 1) {
if (alreadyColoredRed) {
colorBack.start();
colorButton.stop();
} else {
red.setBackground(Color.red);
alreadyColoredRed = true;
System.out.println("RED DONE");
}
} else if (playSquare == 2) {
if (alreadyColoredGreen) {
colorBack.start();
colorButton.stop();
} else {
green.setBackground(Color.green);
alreadyColoredGreen = true;
System.out.println("GREEN DONE");
}
}
}
}
});
Timer colorBack = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < pcArray.length; i++) {
playSquare = pcArray[i];
System.out.println("PlaySquare " + playSquare);
if (playSquare == 1) {
red.setBackground(Color.gray);
alreadyColoredRed = false;
System.out.println("RED PAINTED BACK");
colorBack.stop();
} else if (playSquare == 2) {
green.setBackground(Color.gray);
alreadyColoredGreen = false;
System.out.println("GREEN PAINTED BACK");
colorBack.stop();
}
}
}
});
爲了更好地幫助越早,張貼[MCVE](http://stackoverflow.com/help/mcve)(最小完備可驗證實施例)或[SSCCE](HTTP:// WWW .sscce.org /)(簡短,獨立,正確的例子)。 – 2015-02-09 21:38:35
*「我完全意識到非常相似的問題..」*如果你與他們聯繫起來,我們也會完全意識到他們。那麼做怎麼樣? – 2015-02-09 21:40:30
謝謝你,安德魯。將試圖找出這種方式 – KTM950 2015-02-09 21:59:42