Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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 f9键的KeyEvent getActionCommand?_Java_Swing_Awt_Key Bindings_Actionevent - Fatal编程技术网

Java f9键的KeyEvent getActionCommand?

Java f9键的KeyEvent getActionCommand?,java,swing,awt,key-bindings,actionevent,Java,Swing,Awt,Key Bindings,Actionevent,当键盘键都正常(a-z)时,我处理一些按键的代码工作正常,但现在我想将默认屏幕截图键设置为F9 e、 当我按F9键时,getActionCommand()返回null。注册此密钥的代码如下: theDesktop.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("released " + configFile.getProperty("SCREENSHOT_KEY")), "f9ButtonRel

当键盘键都正常(a-z)时,我处理一些按键的代码工作正常,但现在我想将默认屏幕截图键设置为F9

e、 当我按F9键时,getActionCommand()返回null。注册此密钥的代码如下:

theDesktop.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("released " + configFile.getProperty("SCREENSHOT_KEY")), "f9ButtonRelease");
theDesktop.getActionMap().put("f9ButtonRelease", ClassKeyReleaseHandler);

谢谢你在这方面的帮助。。。我试图搜索谷歌,但没有看到任何具体内容。还尝试使用VK_F9进行注册,但它只使用F9触发(无论哪种方式,当我按F9时,它都返回null)。谢谢您的帮助。

更新:与OP的问题无关

如果要使用常量KeyEvent.VK_F9。您不应该使用e.getActionCommand,而应该使用e.getKeyCode

例如:

    public class TestListener implements KeyListener{
    public void keyPressed(KeyEvent e){
        if(e.getKeyCode() == KeyEvent.VK_F9)
            System.out.println("F9 is pressed");

    }

更新:与OP的问题无关

如果要使用常量KeyEvent.VK_F9。您不应该使用e.getActionCommand,而应该使用e.getKeyCode

例如:

    public class TestListener implements KeyListener{
    public void keyPressed(KeyEvent e){
        if(e.getKeyCode() == KeyEvent.VK_F9)
            System.out.println("F9 is pressed");

    }

更新:与OP的问题无关

如果要使用常量KeyEvent.VK_F9。您不应该使用e.getActionCommand,而应该使用e.getKeyCode

例如:

    public class TestListener implements KeyListener{
    public void keyPressed(KeyEvent e){
        if(e.getKeyCode() == KeyEvent.VK_F9)
            System.out.println("F9 is pressed");

    }

更新:与OP的问题无关

如果要使用常量KeyEvent.VK_F9。您不应该使用e.getActionCommand,而应该使用e.getKeyCode

例如:

    public class TestListener implements KeyListener{
    public void keyPressed(KeyEvent e){
        if(e.getKeyCode() == KeyEvent.VK_F9)
            System.out.println("F9 is pressed");

    }

使用键绑定的原因之一是避免使用嵌套的if/else语句。相反,您为键绑定创建了一个唯一的操作,那么Action命令就无关紧要了

//theDesktop.getActionMap().put("f9ButtonRelease", ClassKeyReleaseHandler);
theDesktop.getActionMap().put("f9ButtonRelease", ScreenShotReleaseHandler);

这是在Swing中创建所有默认操作的方式。

使用键绑定的原因之一是避免使用嵌套的if/else语句。相反,您为键绑定创建了一个唯一的操作,那么Action命令就无关紧要了

//theDesktop.getActionMap().put("f9ButtonRelease", ClassKeyReleaseHandler);
theDesktop.getActionMap().put("f9ButtonRelease", ScreenShotReleaseHandler);

这是在Swing中创建所有默认操作的方式。

使用键绑定的原因之一是避免使用嵌套的if/else语句。相反,您为键绑定创建了一个唯一的操作,那么Action命令就无关紧要了

//theDesktop.getActionMap().put("f9ButtonRelease", ClassKeyReleaseHandler);
theDesktop.getActionMap().put("f9ButtonRelease", ScreenShotReleaseHandler);

这是在Swing中创建所有默认操作的方式。

使用键绑定的原因之一是避免使用嵌套的if/else语句。相反,您为键绑定创建了一个唯一的操作,那么Action命令就无关紧要了

//theDesktop.getActionMap().put("f9ButtonRelease", ClassKeyReleaseHandler);
theDesktop.getActionMap().put("f9ButtonRelease", ScreenShotReleaseHandler);


这是在Swing中创建所有默认操作的方式。

正确地说,OP使用的是密钥绑定API而不是密钥侦听器是我很久以前在这里发布的,有人给我指出了密钥绑定。。。我只是不确定是否将每个功能都划分为一个内部类。。。希望Camickr或者你,MadProgrammer,能让我放松,让我知道这是否是一个好的编程标准。我向智者低头,我还是一个新手。从现在起,我将扣除我是否有能力回答:)希望你能找到你的答案,凤凰社!不用担心。。你在做正确的事情(帮助他人),这才是关键。正确地说,OP是使用密钥绑定API而不是密钥侦听器。是的,我很久以前在这里发布过,有人指给我密钥绑定。。。我只是不确定是否将每个功能都划分为一个内部类。。。希望Camickr或者你,MadProgrammer,能让我放松,让我知道这是否是一个好的编程标准。我向智者低头,我还是一个新手。从现在起,我将扣除我是否有能力回答:)希望你能找到你的答案,凤凰社!不用担心。。你在做正确的事情(帮助他人),这才是关键。正确地说,OP是使用密钥绑定API而不是密钥侦听器。是的,我很久以前在这里发布过,有人指给我密钥绑定。。。我只是不确定是否将每个功能都划分为一个内部类。。。希望Camickr或者你,MadProgrammer,能让我放松,让我知道这是否是一个好的编程标准。我向智者低头,我还是一个新手。从现在起,我将扣除我是否有能力回答:)希望你能找到你的答案,凤凰社!不用担心。。你在做正确的事情(帮助他人),这才是关键。正确地说,OP是使用密钥绑定API而不是密钥侦听器。是的,我很久以前在这里发布过,有人指给我密钥绑定。。。我只是不确定是否将每个功能都划分为一个内部类。。。希望Camickr或者你,MadProgrammer,能让我放松,让我知道这是否是一个好的编程标准。我向智者低头,我还是一个新手。从现在起,我将扣除我是否有能力回答:)希望你能找到你的答案,凤凰社!不用担心。。你在做正确的事情(帮助他人)这才是最重要的,这就是我所拥有的,然后每个功能都有大量的内部类。。。ClassSendButton(回车)、ClassTabKey(制表符)、ClassExitButton(注销)。这样行吗?如果是这样的话,我会将它们分开,并去掉ifs。使用内部类(这就是大多数Swing组件的工作方式,看看DefaultEditorKit源代码)或单独的类都可以。好的,谢谢。我只是不想有这么多的内部类。谢谢你的帮助。这就是我所拥有的,然后每个功能都有大量的内部类。。。ClassSendButton(回车)、ClassTabKey(制表符)、ClassExitButton(注销)。这样行吗?如果是这样的话,我会将它们分开,并去掉ifs。使用内部类(这就是大多数Swing组件的工作方式,看看DefaultEditorKit源代码)或单独的类都可以。好的,谢谢。我只是不想有这么多的内部类。谢谢你的帮助。这就是我所拥有的,然后每个功能都有大量的内部类。。。ClassSendButton(回车)、ClassTabKey(制表符)、ClassExitButton(注销)。这样行吗?如果是这样的话,我会将它们分开,并去掉ifs。使用内部类(这就是大多数Swing组件的工作方式,看看DefaultEditorKit源代码)或单独的类都可以。好的,谢谢。我只是不想有这么多的内部类。谢谢你的帮助。