Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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中创建不可见菜单项的快捷方式_Java_Swing_Shortcut_Invisible_Jmenuitem - Fatal编程技术网

如何在Java中创建不可见菜单项的快捷方式

如何在Java中创建不可见菜单项的快捷方式,java,swing,shortcut,invisible,jmenuitem,Java,Swing,Shortcut,Invisible,Jmenuitem,我最近在我的程序中添加了一个控制台对话框,以便更容易捕获bug。当前可通过JMenuItem访问此项,并具有键盘快捷键“Ctrl+L” 理想情况下,我希望保留此选项,但使菜单项隐藏/不可见,因为我只希望人们在复制内容给我时使用它,以便我可以调查一些事情。但是,当我将菜单项设置为不可见时,快捷方式也会停止工作 以下是我尝试过的: mntmViewLogs.setAccelerator(KeyStroke.getKeyStroke('L', KeyEvent.CTRL_DOWN_MASK))

我最近在我的程序中添加了一个控制台对话框,以便更容易捕获bug。当前可通过JMenuItem访问此项,并具有键盘快捷键“Ctrl+L”

理想情况下,我希望保留此选项,但使菜单项隐藏/不可见,因为我只希望人们在复制内容给我时使用它,以便我可以调查一些事情。但是,当我将菜单项设置为不可见时,快捷方式也会停止工作

以下是我尝试过的:

    mntmViewLogs.setAccelerator(KeyStroke.getKeyStroke('L', KeyEvent.CTRL_DOWN_MASK));
    mntmViewLogs.setVisible(false);

谢谢

您应该使用密钥绑定API:

将快捷键设置为菜单后的操作,而不是菜单: getInputMap(当在聚焦窗口中时)。放置( 加速工作, 行动名称)