我的Timer.start()不可以直接用啊,我看别人的一样啊,他的可以运行啊


public class Jpanel01  extends JPanel implements KeyListener, ActionListener {
    Random random=new Random();

    int length;
    int [] X=new int[550];
    int [] Y=new int[550];
    int x;
    int y;
    boolean isstart=false;

    Timer timer=new Timer(this,100);//这个位置报错啊

    public void nn(){
        length=3;
        X[0]=100;Y[0]=25;
        X[1]=75;Y[1]=25;
        X[2]=50;Y[2]=25;

    }






    public Jpanel01() {


        nn();
        this.setFocusable(true);
        this.addKeyListener(this);
        timer.start();
    }

    @Override//画板
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.fillRect(0, 0, 520, 480);
        for (int i=0;i<length;i++){
            Data.tubiao.paintIcon(this,g,X[i],Y[i]);
        }
    repaint();
    }

    public static void main(String[] args) {

    }

    @Override
    public void keyPressed(KeyEvent e) {
        int key=e.getKeyCode();
        if(key==KeyEvent.VK_SPACE){
            isstart=!isstart;
            System.out.println(isstart);
        }
    repaint();
    }

    @Override//事件监听
    public void actionPerformed(ActionEvent e) {

        if(isstart){

            timer.scheduleAtFixedRate(new TimerTask() {
                @Override
                public void run() {
                    for(int i=length-1;i>0;i++){
                        X[i]=X[i-1];
                        Y[i]=Y[i-1];
                    }
                    X[0]=X[0]+25;
                    Y[0]=Y[0]+25;
                }
            },100,100);
            System.out.println(isstart);
            repaint();
        }




    }



    @Override
    public void keyReleased(KeyEvent e) {

    }
    @Override
    public void keyTyped(KeyEvent e) {

    }


}

img