在我的空閒時間,我通過製作遊戲練習java。我有一個依次調用2個方法的按鈕,它們都改變了相同的UI對象。有方法之間的java等待
我找不到方法/無法理解如何在執行方法時使java等待,以便可以在第一個方法完成之後和第二個方法再次更改之前看到字段的值方法。
我明白,最好的方法是使用擺動計時器,但我根本不明白它的語法。我嘗試使用睡眠,但即使它等待指定的時間,它只顯示原始值和最終值,省略了它們之間的值。
我所擁有的是:
label.setIcon(Alive);
private void cmdAttackActionPerformed(java.awt.event.ActionEvent evt) {
//inside method1:
label.setIcon(Dead);
//wait a few seconds to see the label while setIcon(Dead) is the value
//inside method2:
if (reinforcements!=0){
label.setIcon(Alive);
}
}
於是,我就擺弄一些,並設法得到結果,但我仍然不能得到它做我想做的。
public void run() {
String output="";
for (int i = 0; i < combatInfo[info].length(); i++) {
output=output+combatInfo[info].substring(i, i+1);
if(i%2==0){
cmdInfo.setText(output);
System.out.println(output);
}
try {
Thread.sleep(100);
} catch (InterruptedException ex) {}
}
};
中的println()工作在一步一個腳印,因爲它應該,但是,的setText()仍然只顯示最終值,跳過之間的任何東西。我如何解決這個問題?
這聽起來像你想在第一次方法調用後使用調試器來檢查值?或者我錯了? – Danny
[Java中的等待函數]的可能的重複(http://stackoverflow.com/questions/2517022/wait-function-in-java) –
嘗試在第一個末尾調用方法 – CaffeineToCode