Java 自动点击程序不起作用

Java 自动点击程序不起作用,java,while-loop,macros,jframe,clicking,Java,While Loop,Macros,Jframe,Clicking,我正在制作一个自动点击的程序。代码中与宏相关的部分是独立工作的,我正在尝试让它与我的GUI一起工作,我最初用while(true)循环进行测试,但现在我想要正确的功能,它不工作了。有人知道为什么吗 package Hobabo; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import j

我正在制作一个自动点击的程序。代码中与宏相关的部分是独立工作的,我正在尝试让它与我的GUI一起工作,我最初用while(true)循环进行测试,但现在我想要正确的功能,它不工作了。有人知道为什么吗

package Hobabo;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.WindowEvent;

import javax.swing.*;





public class Clicker {


    static String version = "0.3";



    private static JFrame main;
    private static JPanel view;
    private static JButton start;
    private static JButton selfd;
    private static JLabel intro;
    private static JLabel info;


    static boolean on = false;















    public static void gui(){

        main = new JFrame("Hobabo Clicker " + version);
        main.setVisible(true);
        main.setSize(300, 400);
        main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


        view = new JPanel();
        view.setBackground(Color.darkGray);


        start = new JButton("Start");
        start.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                if(on == false){
                    start.setText("Stop");
                    on = true;
                    System.out.println("Started, true");
                }else{
                    start.setText("Start");
                    on = false;
                    System.out.println("Stopped, false");
                }
            }

        });


        selfd = new JButton("Self Destruct");
        selfd.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub

                main.dispatchEvent(new WindowEvent(main, WindowEvent.WINDOW_CLOSING));


            }

        });


        intro = new JLabel("HES HACKING FOLKS HADEEGA HOBAAAA");
        intro.setForeground(Color.white);

        info = new JLabel("Created by NotRaymond.");
        info.setForeground(Color.white);



        view.add(intro);
        view.add(start);
        view.add(selfd);
        view.add(info);


        main.add(view);


    }



    public static void clicker(){


        while(on == true){



            leftClick();
            delay(1);















        }



    }



    protected static void delay(double seconds){
        createMacro();
        macro.delay((int)(seconds * 1000));
    }


    protected static void leftClick(){
        createMacro();
        macro.mousePress(MouseEvent.BUTTON1_MASK);
        macro.mouseRelease(MouseEvent.BUTTON1_MASK);
    }


    private static Robot macro = null;

    private static void createMacro(){
        try {
            macro = new Robot();
        }catch (AWTException e){
            e.printStackTrace();
        }
    }













    public static void main(String args[]){
        gui();
        clicker();
    }







}

请解释不工作意味着什么。因此,您确实意识到,每秒钟,您都在创建两个新的
Robot
实例,并将它们放入名为
宏的对象中?你为什么这么做?