Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我想单击按钮时,如何创建Enter事件,而不使用类Robot?_Java_Intellij Idea - Fatal编程技术网

Java 当我想单击按钮时,如何创建Enter事件,而不使用类Robot?

Java 当我想单击按钮时,如何创建Enter事件,而不使用类Robot?,java,intellij-idea,Java,Intellij Idea,当我想单击按钮时,如何创建Enter事件,而不使用类Robot?我已经创建了一个表单,我创建了按钮btnMainOk 我尝试过使用keyListener,但它不起作用 btnMainOk.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { btnMainOk.addKeyListener(new K

当我想单击按钮时,如何创建Enter事件,而不使用类Robot?我已经创建了一个表单,我创建了按钮btnMainOk

我尝试过使用keyListener,但它不起作用

  btnMainOk.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            btnMainOk.addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    super.keyReleased(e);
                    if (e.getKeyCode()==KeyEvent.VK_ENTER){
                        System.out.println("Hello");
                    }
                }
            });
        }
    });

目标是当我用鼠标设备在按钮上单击时,该按钮应该像我按下键盘上的enter键一样。

但是如果你单击鼠标上的按钮,焦点将在按钮上,enter键将重新单击按钮…导致无限循环。如果你想用另一种方法来做这件事会很容易,只要调用
按钮.doClick()
。你想用这个做什么?我有一些按钮,它们的作用类似于从0到9的数字。这些数字被输入到textField,最后我必须在该textField的新按钮上创建enter键,所以您只需要textField的行为就像按下enter键一样?您可以执行类似于
myTextField.getAction().actionPerformed(myEvent)
的操作,其中
myEvent
是您创建的
ActionEvent
。如果我没有按enter键,我将无法完成下一步操作。您想做什么?什么计算器?你可能用了错误的方法。如果在文本字段中按enter键,将执行其actionlistener。无法将“输入键”添加到文本字段。但如果单击鼠标上的按钮,焦点将集中在按钮上,输入键将重新单击按钮…导致无限循环。如果你想用另一种方法来做这件事会很容易,只要调用
按钮.doClick()
。你想用这个做什么?我有一些按钮,它们的作用类似于从0到9的数字。这些数字被输入到textField,最后我必须在该textField的新按钮上创建enter键,所以您只需要textField的行为就像按下enter键一样?您可以执行类似于
myTextField.getAction().actionPerformed(myEvent)
的操作,其中
myEvent
是您创建的
ActionEvent
。如果我没有按enter键,我将无法完成下一步操作。您想做什么?什么计算器?你可能用了错误的方法。如果在文本字段中按enter键,将执行其actionlistener。无法将“添加回车键”添加到文本字段。