[問題] 請教關於java timer速度的問題

看板java作者 (sn153246)時間13年前 (2011/04/08 18:27), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
小弟寫了一個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

04/08 18:31, , 1F
這種需求似乎就不該用這種 timer 了
04/08 18:31, 1F

04/08 19:21, , 2F
不確定原 PO 想做什麼,但是顯然改變 Timer 間隔時間的方式
04/08 19:21, 2F

04/08 19:24, , 3F
有誤,應該呼叫該 Timer 的 setDelay() 方法才對
04/08 19:24, 3F

04/08 21:44, , 4F
沒注意到有set這個方法..謝各為解答
04/08 21:44, 4F

04/10 17:07, , 5F
你可以用用看thread的寫法,然後用sleep
04/10 17:07, 5F
文章代碼(AID): #1DdkCJtD (java)