gpt4 book ai didi

Java:KeyListener 不工作

转载 作者:行者123 更新时间:2023-12-02 12:13:54 26 4
gpt4 key购买 nike

我对 Java 还很陌生,到目前为止我完全是自学的。

现在我正在尝试将 KeyListener 添加到我的 JFrame 类中,我不知道我做错了什么,需要一些帮助。欢迎任何其他提示。

我的 JFrame 类:

import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.*;

public class TestJavaFrame implements ActionListener, KeyListener {
private static JFrame frame = new JFrame();

// Componenets
JLabel timeinmslabel = new JLabel("Enter the time in miliseconds:");

JTextField timeinms = new JTextField();

JRadioButton checkBox = new JRadioButton();
JRadioButton checkBox2 = new JRadioButton();

private boolean amountoftimes = false;

public TestJavaFrame(String windowname) {
frame.setName(windowname);
frame.setResizable(true);
frame.setSize(900, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(150, 50);

// JPanel
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBounds(frame.getBounds());

// Bounds for components
timeinmslabel.setBounds((int) (frame.getBounds().getX() / 2), 125, 200, 25);
timeinms.setBounds((int) (frame.getBounds().getX() / 2 + 185), 125, 200, 25);
checkBox.setBounds((int) (frame.getBounds().getX() / 2 + 185), 40, 200, 25);
checkBox2.setBounds((int) (frame.getBounds().getX() / 2 + 185), 70, 200, 25);

// Action Listeners
checkBox.addActionListener(this);
frame.addKeyListener(this);

// edit components
checkBox.setText("Use clicked amount of times.");

// add components
panel.add(timeinmslabel);
panel.add(timeinms);
panel.add(checkBox);
panel.add(checkBox2);
frame.add(panel);

frame.setVisible(true);

}

public void actionPerformed(ActionEvent e) {
System.out.println(e);
}

@Override
public void keyPressed(KeyEvent e) {
System.out.println(e.getKeyChar());
}

@Override
public void keyReleased(KeyEvent e) {
System.out.println(e.getKeyChar());
}

@Override
public void keyTyped(KeyEvent e) {
System.out.println(e.getKeyChar());
}
}

如果您需要我的 main,我完全可以发布它,但它现在所做的就是创建这个 gui。

最佳答案

So when the user hits the specific key it stops the auto clicker

是的,您可以将按键绑定(bind)添加到面板。

更好的方法是为应用程序支持的各种操作创建一个菜单栏。然后您可以使用菜单项来启动/停止答题器。创建菜单项时,您可以为菜单项分配加速器,菜单项将自动为您创建键绑定(bind)。

这是一个更好的解决方案,因为“键绑定(bind)”是自记录的,因为它是菜单项的一部分。

阅读 Swing 教程中关于 How to Use Menus 的部分了解更多信息和工作示例以帮助您入门。

as I said I'm trying to learn here.

保留指向所有 Swing 基础知识的教程的链接。还有关于“按键绑定(bind)”和“如何使用操作”的部分。

关于Java:KeyListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46334500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com