java - jbutton 上的 keyListener 不工作

标签 java jbutton keyevent

我想在单击 jbutton 后按下'Enter'键时执行一些操作,但它不起作用,有人帮忙

这是我的代码

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

      jButton.keyTyped(e);
        
    } 

关键监听函数

    public void keyTyped(KeyEvent e) {
        //action
    }

最佳答案

您需要绑定(bind)它 - 下面的示例代码。

public class Test {

    static JButton btnA = new JButton("A");
    static JPanel jp = new JPanel();
    static JFrame jf = new JFrame("test frame");

    static ActionListener action = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            jl.setText(((JButton)e.getSource()).getText());
        }
    };

    public static void main(String[] args) {
        jf.setVisible(true);
        jf.setSize(400, 400);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        jp.add(btnA);
        jf.add(jp);

        btnA.addActionListener(action);
    }
}

关于java - jbutton 上的 keyListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49860234/

相关文章:

java - 多线程请求时同步锁授予顺序?

java - EWS-Java-API - EmailMessage.send 到 java.lang.NullPointerException : format == null

java - 添加到 JMenuItem 的附加信息

java - 测量下载速度 Java

java - 按下一个键和被按下的键被读取之间的延迟

Java在Mac上,如evt.iscontroldown evt.iscommanddown 全部?

java - 如何防止 JButton 改变大小?

java - 在 jbutton 中使用 netbeans 自动生成的 jtextfield 进行 mysql 搜索

java - CardLayout 在 Windows 上无法正确呈现

java - 调用需要 KeyEvent 参数的函数