按时点击器JAVA代码错误

时间:2013-08-13 23:24:57

标签: java timer onclick schedule

不明白为什么SCHEDULE总是强调并且不工作(我尝试分成几个班级,同样的事情,只是无法解决问题所在。 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@

 import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;


    public class assertion extends JFrame {

     JTextField curTime, xT, yT;
     Timer timer;

     public static void main(String[] args){ 

      new assertion();

     }


     public assertion() {

      JFrame window = new JFrame("ВИ Кликер");
      window.setSize(400,400);

      JPanel mainframe=new JPanel();
            window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);




            JLabel x=new JLabel();
            x.setText("X-Coordinate");
            mainframe.add(x);

            xT=new JTextField(10);
            mainframe.add(xT);
            window.getContentPane().add(mainframe);
            window.pack();
            window.setVisible(true);



            JLabel y=new JLabel();
            y.setText("Y-Coordinate");
            mainframe.add(y);

            yT=new JTextField(10);
            mainframe.add(yT);
            window.getContentPane().add(mainframe);
            window.pack();
            window.setVisible(true);



            JLabel time=new JLabel();
            time.setText("Time");
            mainframe.add(o);

            curTime = new JTextField(10);
            mainframe.add(curTime);
            window.getContentPane().add(mainframe);
            window.pack();
            window.setVisible(true);




            JButton gO =new JButton();
            gO.setText("GO");
            mainframe.add(gO);


            gO.addActionListener(new ActionListener(){
             public  void actionPerformed(ActionEvent e){
         timer();
             }
          });


     }


     public void timer(){


      Calendar calendar = Calendar.getInstance();
      calendar.set(Calendar.HOUR_OF_DAY, 23);
      calendar.set(Calendar.MINUTE, 1);
      calendar.set(Calendar.SECOND, 0);
      Date time = calendar.getTime();

      timer = new Timer();
      timer.schedule(new assertion(), time);

     }

     public void mouse() throws AWTException {

      String xx = xT.getText(), yy = yT.getText();
      int xxx = Integer.parseInt(xx), yyy = Integer.parseInt(yy);


      Robot robot = new Robot();
      robot.mouseMove(xxx, yyy);
      robot.mousePress(InputEvent.BUTTON1_MASK);
      robot.mouseRelease(InputEvent.BUTTON1_MASK);
     }


    }

2 个答案:

答案 0 :(得分:1)

Timerjava.util.Timer之间的课程javax.swing.Timer不明确,因此timer.schedule无法解析。

删除包导入

import java.util.*;

并且只导入您需要的类,例如

import java.util.Calendar;

javax.swing.Timer是与Swing一起使用的正确Timer,因此您需要重构代码以解决此问题。无需创建assertion的新实例 - 只需确保所有方法都调用Swing Timer ActionListener

Timer timer = new Timer(1000, new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        // perform timer actions 
    }
});

除此之外:Java命名约定显示类以大写字母开头,例如Assertion

答案 1 :(得分:1)

Assertion不会扩展所需的TimerTask。

创建一个匿名类,就像我在另一个问题主题中向您展示的那样。