非常新的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();
}
答案 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);