我正在使用键监听器和jtabbed窗格,每当我尝试使用键盘上的左右键时,它只会在选项卡之间切换。这真的很烦人,因为我实际上在其中一个标签中使用了箭头键。有没有办法关闭java中的“切换选项卡”击键事项?
提前谢谢
KeyListen keylistener = new KeyListen();
MainGUI.MainTabbedPane.addKeyListener(keylistener);
MainGUI.MainTabbedPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("LEFT"), "none");
MainGUI.MainTabbedPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("RIGHT"), "none");
答案 0 :(得分:1)
是的,你必须取消注册键绑定,你可以做这样的事情
tabComponent.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("LEFT"), "none");
tabComponent.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("RIGHT"), "none");
您可能需要查看此How to use KeyBindings。建议不要使用KeyListeners而是使用KeyBindings,因为首先你必须有焦点,除了keylisteners是针对所有键,键绑定是针对特定键。