作者sn153246 (sn153246)
看板java
標題[問題] 請教關於java timer速度的問題
時間Fri Apr 8 18:27:28 2011
小弟寫了一個Timer的小程式
我想控制它的delay
卻出了點問題
private int speed = 200;
public Animation()
{
addKeyListener(new KeyAdapter()
{
Timer timer = new Timer(speed, new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
repaint();
}
});
public void keyPressed(KeyEvent e)
{
switch(e.getKeyCode())
{
case KeyEvent.VK_DOWN: speed -= 50; break; //這兩個speed不會動
case KeyEvent.VK_UP: speed += 50; break;
case 82: timer.start(); break; //case 82 83會作用
case 83: timer.stop(); break;
default: keyChar = e.getKeyChar();
}
System.out.println(speed); //速度有做改變, 但是repaint的速度還是沒變
}
});
}
例如一開始是200 按兩次案件VK_UP
cmd內會印出300
但是repaint速度並沒有改
怎麼才能解決呢?
謝謝各位的幫助
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.0.248
→ tkcn:這種需求似乎就不該用這種 timer 了 04/08 18:31
→ uziel:不確定原 PO 想做什麼,但是顯然改變 Timer 間隔時間的方式 04/08 19:21
→ uziel:有誤,應該呼叫該 Timer 的 setDelay() 方法才對 04/08 19:24
→ sn153246:沒注意到有set這個方法..謝各為解答 04/08 21:44
推 baconcsie:你可以用用看thread的寫法,然後用sleep 04/10 17:07