作者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
1F:→ tkcn:这种需求似乎就不该用这种 timer 了 04/08 18:31
2F:→ uziel:不确定原 PO 想做什麽,但是显然改变 Timer 间隔时间的方式 04/08 19:21
3F:→ uziel:有误,应该呼叫该 Timer 的 setDelay() 方法才对 04/08 19:24
4F:→ sn153246:没注意到有set这个方法..谢各为解答 04/08 21:44
5F:推 baconcsie:你可以用用看thread的写法,然後用sleep 04/10 17:07