0
我將演示使用代碼實現的目標。如何使用計時器以兩個不同的間隔/持續時間執行兩個不同的動作?
創建計時器參考 Timer timer;
構建和初始化定時器
timer = new Timer(duration, timerAction);
timer.start();
現在timerListener
AbstractAction timerAction = new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
//Perform some action for duration
jlabel.setText("A"); //action_1
//See description under code
jlabel.setText("B"); // action_2
}
};
的seeked場景:
- ACTION_1具有從ACTION_2
- 執行對於持續時間ACTION_1不同的持續時間(比如持續時間_1)
- 完成ACTION_1爲持續時間_1
- 爲持續時間_2
- 執行ACTION_2完成ACTION_2爲持續時間_2後後
- 執行action_1 for duration_1
依此類推。
action_1僅在action_2完成其間隔後才執行其後續時間間隔。
- action_2僅在action_1完成其間隔後才執行其後續時間間隔。
來描述它例如在:允許採取這些行動
jlabel.setText("A"); //action_1
jlabel.setText("B"); // action_2
- ACTION_1具有不同的持續時間ACTION_2
- ACTION_1:將文本設置爲 「A」 的持續時間爲1秒。
- 1個秒鐘
- ACTION_2執行ACTION_1後:將文本設置爲 「B」,如持續時間2秒
- 2秒
- ACTION_1執行ACTION_2後:將文本設置爲 「A」,如持續時間1秒
依此類推。
action_1僅在action_2完成其間隔後才執行其後續時間間隔。
- action_2僅在action_1完成其間隔後才執行其後續時間間隔。
....
如何實現它的主意?
由一個共同的因素必然密切相關的持續時間(例如,1秒和2秒),還是可以完全隨機? – chrylis
不是隨機的,action_1和action_2一個接一個地依次執行,每個執行一個接一個的指定的持續時間,一旦完成後續的動作開始。謝謝 –