在java swing中输入JButton的关键焦点?

Lal*_*and 2 java swing key

如何在java swing中为JButton创建Enter键焦点?

我这样做了

btn_Login.registerKeyboardAction(new ActionListener() {

    public void actionPerformed(ActionEvent e) {
       System.out.println("enter key pressed");

    }
}, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0,false), txt_Username.WHEN_FOCUSED);
Run Code Online (Sandbox Code Playgroud)

但没有工作

Jen*_* K. 6

如果你只是按某个窗口的Enter键,我假设你想要一个特定的按钮被"按下".

为此,您必须在当前JFrame的RootPane上设置defaultButton.

这是一个例子:

 JButton btn = new JButton();
 JFrame frame = new JFrame();

 frame.getContentPane().add(btn);
 frame.getRootPane().setDefaultButton(btn);
Run Code Online (Sandbox Code Playgroud)

这应该会给你预期的结果.