启动应用程序的Java计时器问题

时间:2017-01-05 10:02:05

标签: java import timer

非常新的java所以请在基本级别解释。试图制作蛇游戏。在为游戏背景输入代码的过程中。有计时器的问题。有问题的行标有***

 package snake;

 import java.awt.Dimension;
 import java.awt.Toolkit;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;

  import javax.swing.JFrame;


 public class Snake implements ActionListener {

         public JFrame jframe;
         public RenderPanel renderPanel;    
         public static Snake snake;


         public Snake() {
             Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
             jframe = new JFrame("Snake");
             jframe.setVisible(true);
             jframe.setSize(800, 700);
             jframe.setLocation(dim.width / 2 - jframe.getWidth() / 2, dim.height / 2 - jframe.getHeight() / 2);
             jframe.add(renderPanel = new RenderPanel());
             jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


         }

     public static void main (String []args) {
          snake = new Snake();
      }

     @Override
     public void actionPerformed(ActionEvent arg0) {
          renderPanel.repaint();

      }

1 个答案:

答案 0 :(得分:0)

您无法使用int和Snake对象初始化Timer。 Timer类不支持这种方法。看看Java Api。构造方法摘要显示Timer,Timer类存在哪些构造函数。

如果您想在定义的时间后执行某些操作,请执行以下操作:

        ID VALIDFROM            VALIDTO                   PRICE
---------- -------------------- -------------------- ----------
         1 01-JAN-2017 00:00:00 03-JAN-2017 00:00:00      30000
         1 04-JAN-2017 00:00:00 09-JAN-2017 00:00:00      20000
         1 10-JAN-2017 00:00:00 10-JAN-2017 00:00:00      30000
         1 11-JAN-2017 00:00:00 15-JAN-2017 00:00:00      10000
         1 16-JAN-2017 00:00:00 18-JAN-2017 00:00:00      15000
         1 19-JAN-2017 00:00:00 20-JAN-2017 00:00:00      40000
         1 21-JAN-2017 00:00:00 22-JAN-2017 00:00:00      28000
         1 23-JAN-2017 00:00:00 25-JAN-2017 00:00:00      23000
         1 26-JAN-2017 00:00:00 26-JAN-2017 00:00:00      17000

1000是延迟(以毫秒为单位),直到将调用ReceiverTask的run方法。

ReceiverTask应该是一个扩展TimeTask的类。例如:

Timer timer = new Timer();
timer.schedule(new ReceiverTask(), 1000);