Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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 Swing获取输入_Java_Swing_Key Bindings - Fatal编程技术网

Java Swing获取输入

Java Swing获取输入,java,swing,key-bindings,Java,Swing,Key Bindings,如何更改此代码以接受任何密钥(不仅仅是F5)并打印密钥 component.getRootPane().getInputMap(JRootPane.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0), "F5 Pressed"); component.getRootPane().getActionMap().put("F5 Pressed", new AbstractAction() { @Overr

如何更改此代码以接受任何密钥(不仅仅是F5)并打印密钥

component.getRootPane().getInputMap(JRootPane.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0), "F5 Pressed");
component.getRootPane().getActionMap().put("F5 Pressed", new AbstractAction() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // Code here
    }
});
我怎样才能(“cahnhe”)此代码接受任何键(不仅仅是F5)并打印 钥匙

  • 对不起,这个问题没有什么意义,用这种形式

  • 基本是,

  • component.getRootPane()
    只能对有效,实际上只有
    JFrame
    具有可访问性
    RootPane

  • 否则,添加到所需的

我怎样才能(“cahnhe”)此代码接受任何键(不仅仅是F5)并打印 钥匙

  • 对不起,这个问题没有什么意义,用这种形式

  • 基本是,

  • component.getRootPane()
    只能对有效,实际上只有
    JFrame
    具有可访问性
    RootPane

  • 否则,添加到所需的


使用
KeyboardFocusManager
注册
KeyEventDispatcher

KeboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {       
    @Override
    public boolean dispatchKeyEvent(KeyEvent ke) {
        if (yourComponent.hasFocus && ke.getID == KeyEvent.KEY_TYPED) {
            // Your code here
            // Use ke.getKeyChar() to detect which key was pressed.
        }
    }
}

使用
KeyboardFocusManager
注册
KeyEventDispatcher

KeboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {       
    @Override
    public boolean dispatchKeyEvent(KeyEvent ke) {
        if (yourComponent.hasFocus && ke.getID == KeyEvent.KEY_TYPED) {
            // Your code here
            // Use ke.getKeyChar() to detect which key was pressed.
        }
    }
}

您可能正在寻找一个。您不能-键绑定用于特定的击键。您想要实现什么?似乎您想要添加键盘上要映射到此组件的每个键。同时,您希望用最少的代码来完成它。我希望我是在描述你的情况。请确实替换cahnhe以进行更改,似乎您打算编写后者,但键入了前者:-)您可能正在查找。您不能-键绑定用于特定的击键。您想要实现什么?似乎您想要添加键盘上要映射到此组件的每个键。同时,您希望用最少的代码来完成它。我希望我是在描述你的情况。请务必替换卡恩赫以进行更改,似乎您打算编写后者,但键入了前者:-)