当前位置: 首页 > 面试题库 >

如何设置Java默认按钮以对ENTER键_released_做出反应?

景阳曜
2023-03-14
问题内容

在我的应用程序中,我使用默认按钮。我希望它在 释放ENTER Key 时作出反应。不是当是关键 按下ENTER

KeyStrokeInputMap按钮中删除了。但这对我没有用。我该怎么办?

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;

public class ButtonTest {
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                buildFrame();
            }
        });
    }

    private static void buildFrame() {
        JFrame f = new JFrame("Test");
        f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        JButton button = new JButton(new AbstractAction("Button") {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("ButtonTest::actionPerformed: CALLED");
            }
        });

        JButton button2 = new JButton("Button 2");
        InputMap im = button.getInputMap();
        im.put(KeyStroke.getKeyStroke("ENTER"), "none");
        im.put(KeyStroke.getKeyStroke("released ENTER"), "released");

        f.setLayout(new GridBagLayout());
        f.add(button);
        f.add(button2);
        f.getRootPane().setDefaultButton(button);

        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }
}

这是示例代码。


问题答案:
JRootPane rootPane = SwingUtilities.getRootPane(/* Your JButton  */); 
rootPane.setDefaultButton(/* Your JButton  */);


 类似资料:
  • 在我的应用程序中,我使用默认按钮。我希望它在释放键时做出反应。当按下键时,则不是。 我从按钮的中删除了。但对我没用。我该怎么做? 这是示例代码。

  • 问题内容: 我在Go中有一个REPL应用,该应用应该对键盘按下事件(每个按下的按键的动作有所不同)做出反应,但是希望在阅读之前按下返回键: 我如何对Go中的按键事件做出反应? 问题答案: 游戏引擎通常实现这种功能。它们通常也与平台无关(通常至少是Windows,Linux,Mac OS X)。例如尝试Azul3D的键盘库。 逻辑就像我的头上一样 要获得当前当前按下的键的列表,只需遍历地图并列出va

  • 问题内容: 我需要建立一个系统,以按选择的票数更改总价。我创建了一些单选按钮来选择票证编号。问题是未设置默认值,并且加载时结果为null。 请参阅我的jsfiddle。 问题答案: 设置默认值与ngInit 演示:小提琴

  • 问题内容: 我正在一个项目上,我想在按钮上设置助记符。但是问题是助记符在配对键示例(+ )等上起作用。但是我希望它在单个键上。 问题答案: 看一下KeyBindings, 然后您可以将任何键附加到JButton 这是一个帮助您的示例代码,只需按一下键盘上的即可:

  • 我很难使用< code>onKeyPressed事件。我的应用程序中有一个< code>TextField,允许用户按下[ENTER]键来实现某项功能;然而,我也为场景指定了一个默认按钮。 虽然我可以在<code>文本字段</code>中成功触发按键所需的操作,但默认按钮的操作始终首先执行。当用户位于中时,我需要完全为按键使用事件。 请参阅以下MCVE: 所需的行为是能够在键入并按 Enter 键

  • 本文向大家介绍javascript为按钮注册回车事件(设置默认按钮)的方法,包括了javascript为按钮注册回车事件(设置默认按钮)的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript为按钮注册回车事件(设置默认按钮)的方法。分享给大家供大家参考。具体如下: 首先不得不说,在JS方面,自己真的是个不折不扣的菜鸟。对于JS以及一些JS框架如JQuery等JS框架,自