1

我最近在我的程序中添加了一个控制台对话框,以便更轻松地捕获错误。这目前可通过 JMenuItem 访问,并具有键盘快捷键“Ctrl+L”。

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

这是我尝试过的:

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

谢谢!

4

1 回答 1

2

您应该使用键绑定 API:http ://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html

设置加速键不是菜单,而是菜单后面的动作:getInputMap(WHEN_IN_FOCUSED_WINDOW).put(acceleratorKey, actionname);

于 2014-01-08T16:59:47.383 回答