Ticker.java
上传用户:jhzhutan
上传日期:2021-03-28
资源大小:374k
文件大小:1k
源码类别:

射击游戏

开发平台:

Java

  1. import java.awt.event.ActionEvent;
  2. import java.awt.event.ActionListener;
  3. import java.io.PrintStream;
  4. //Download:http://www.codefans.net
  5. public class Ticker
  6. implements Runnable
  7. {
  8. ActionListener al;
  9. private boolean isTicking;
  10. Thread t;
  11. int delay;
  12. public Ticker(int i, ActionListener actionlistener)
  13. {
  14. al = actionlistener;
  15. delay = i;
  16. t = new Thread(this);
  17. t.start();
  18. isTicking = false;
  19. }
  20. public Ticker(int i)
  21. {
  22. delay = i;
  23. t = new Thread(this);
  24. t.start();
  25. isTicking = false;
  26. }
  27. public void addActionListener(ActionListener actionlistener)
  28. {
  29. if(al == null)
  30. al = actionlistener;
  31. else
  32. System.out.println("WARNING: ActionListener already added to Ticker.");
  33. }
  34. public boolean isRunning()
  35. {
  36. return isTicking;
  37. }
  38. public void start()
  39. {
  40. isTicking = true;
  41. }
  42. public void stop()
  43. {
  44. isTicking = false;
  45. }
  46. public void setDelay(int i)
  47. {
  48. delay = i;
  49. }
  50. public int getDelay()
  51. {
  52. return delay;
  53. }
  54. private void fireActionPerformed()
  55. {
  56. if(al == null || !isTicking)
  57. {
  58. return;
  59. } else
  60. {
  61. ActionEvent actionevent = new ActionEvent(this, 0, null);
  62. al.actionPerformed(actionevent);
  63. return;
  64. }
  65. }
  66. public void run()
  67. {
  68. do
  69. {
  70. fireActionPerformed();
  71. try
  72. {
  73. Thread.sleep(delay);
  74. }
  75. catch(InterruptedException interruptedexception)
  76. {
  77. System.out.println("WARNING: Ticker thread interrupted.");
  78. }
  79. } while(true);
  80. }
  81. }