我正在尝试制作一个让我的球移动的计时器。绘图部分没有问题,但计时器一直说它未定义,即使我在之前的项目中做了完全相同的事。
以下是代码:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.util.Timer;
import javax.swing.*;
public class SpaceInvaders extends JFrame implements ActionListener, KeyListener {
private static final long serialVersionUID = 1L;
private JPanel bg;
private JButton start, reset;
private int xcora = 255, xcorb = 290, gestart = 0;
private Timer shoot;
public SpaceInvaders(){
//MAKING FRAME
setLayout(new FlowLayout());
setSize(600,700);
setFocusable(true);
setResizable(false);
addKeyListener(this);
setDefaultCloseOperation(EXIT_ON_CLOSE);
//BUTTONS AND SHIT
bg = new JPanel(); add(bg); bg.setPreferredSize(new Dimension(580,600)); bg.setBackground(Color.BLACK); bg.setFocusable(true);
start = new JButton("Start"); add(start); start.addActionListener(this);
reset = new JButton("Reset"); add(reset); reset.addActionListener(this);
//TIMERS
shoot = new Timer(100, this); //This isn't working somehow
setVisible(true);
}
我放出了actionPerformed部分,因为它无关紧要。
答案 0 :(得分:2)
您使用import java.util.Timer;
。它应该是javax.swing.Timer
答案 1 :(得分:1)
在JDK中,Timer
类出现在2个包中
javax.swing
java.util
并且您的代码已导入了这两个
import java.util.*;
import javax.swing.*;
导入特定的计时器(无论哪个)可以解决问题
执行import java.util.Timer
或javax.swing.Timer
。别忘了删除
import java.util.*;
import javax.swing.*;