JAVA窗口设计为空白

标签 java swing

我正在将自动点击器作为一个项目,当我现在打开窗口设计时,它只显示一片空白。

我试图要求用户在微调器中写一个数字 微调器将其发送到延迟。

比你按一个键来运行自动点击器并阻止他

但我现在仍然没有放置按键监听器,我只是想获取输出,这是旋转器的延迟,到目前为止还不能很好地工作。

package autoclicker;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.InputEvent;
import java.util.*;

import javax.swing.JFormattedTextField;
public class auto {
static Scanner console = new Scanner(System.in);
    private Robot robot;
    private int delay;

    public void AutoClicker1() {
        try

        {
            robot = new Robot();
        }
        catch(Exception e)
        {
        e.printStackTrace();
        }
    }
public void clickMouse(int button)
{
    try {
robot.mousePress(button);
robot.delay(10);
robot.mouseRelease(button);
robot.delay(delay);
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

}
public void setDelay(int delayy)
{

this.delay = delayy;

}  

}

这是主要的

package autoclicker;
import javax.swing.*;
import java.awt.event.InputEvent;
import java.lang.Thread;
import java.util.Scanner;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class autoclicker {


private static KeyEvent e;

public static void main(String[] args) {
    // TODO Auto-generated method stub

    Scanner console = new Scanner(System.in);

    JFrame frame = new JFrame("AutoClicker");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setSize(400, 500);        

    frame.setVisible(true);

    frame.setResizable(false);



    JPanel Panel = new JPanel();
    Panel.setBackground(Color.DARK_GRAY);

    Panel.setLayout(null);

    JLabel AutoClicker = new JLabel("delay\r\n in ms");
    AutoClicker.setBounds(10, 80, 151, 30);
    AutoClicker.setForeground(Color.WHITE);
    AutoClicker.setFont(new Font("Secular One", Font.PLAIN, 20));


    JLabel label = new JLabel("AutoClicker");
    label.setForeground(Color.CYAN);
    label.setFont(new Font("Secular One", Font.PLAIN, 30));
    label.setBounds(10, 11, 200, 57);
    Panel.add(label);


    JSpinner spinner = new JSpinner();
    int Delayy = (int) spinner.getValue();
    spinner.setBounds(128, 87, 69, 20);
    Panel.add(spinner);

    frame.add(Panel);

    auto clicker = new auto();

    System.out.println("----Auto Clicker----");

    System.out.println("Enter delay in ms:");

    while(Delayy==0)
    {

    }
    clicker.setDelay(Delayy);

System.out.println("Program will start in 3 seconds.");

try {
System.out.println(3);
Thread.sleep(1000);
System.out.println(2);
Thread.sleep(1000);
System.out.println(1);
Thread.sleep(1000);
}
catch (Exception e)
{
    e.printStackTrace();
}

clicker.AutoClicker1();

for(int i = 0; i<100; i++)

{
clicker.clickMouse(InputEvent.BUTTON1_DOWN_MASK);
}

}
}

最佳答案

  1. 您需要将面板添加到 JFrame。

    frame.add(Panel);
    
  2. 将组件添加到 JFrame 后,您需要将 setVisibility() 设置为 true 才能使其显示。

    frame.setVisible(true);
    

关于JAVA窗口设计为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54829370/

相关文章:

java - 在 Swing 组件的顶部绘画?

java - Java中劫持监听器,传入额外参数

java - 第一次使用.JSP;获取 "JSONCore cannot be resolved to a type"(JSONCore 是本地类)

java - 对象输入流/对象输出流 |接收和发送大量对象的客户端(Java)

java - 如何将图像从一个标签拖放到另一个标签?

java - Java中对象的切换类型

java - 从另一个类中处理 JFrame

java - 可扩展 ListView 中的按钮不可单击

java - 字符串转换为字符数组(包括标点符号)

java - try-catching 实际上在 Java 中如此笨拙,还是我只是不知道这种优雅的方法?