私はオートクリッカーを作成しようとしていますが、ユーザーが簡単にプログラムを停止できるように、キーイベントのキャッチに関する問題があります。何が間違っているのか全く分かりませんが、addKeyListener
もうまくいきません。誰かが助けてくれますか?ここでJava(Swing)がキーイベントを聞きます
は私のコードです:
AutoClickerMain
クラス
package com.autoclicker;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
public class AutoClickerMain {
public static boolean generate = true;
public AutoClickerMain(){
addKeyListener(new KeyInput());
}
public static void main(String[] args) throws InterruptedException{
JFrame frame = new JFrame("Auto Clicker");
frame.setSize(1086, 1200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("AutoClicker", SwingConstants.CENTER);
frame.add(label);
frame.setLocationRelativeTo(null);
frame.setResizable(true);
frame.pack();
frame.setVisible(true);
try {
Robot robot = new Robot();
while (true){
Thread.sleep(500);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
} catch (AWTException e) {
e.printStackTrace();
}
}
}
KeyInput
クラス
package com.autoclicker;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class KeyInput extends KeyAdapter {
@Override
public void keyPressed(KeyEvent event) {
AutoClickerMain.generate = false;
}
}