JTabbedPane正在阅读击键和切换标签

时间:2013-06-29 22:33:28

标签: java swing keylistener jtabbedpane incompatibility

我正在使用键监听器和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");

1 个答案:

答案 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是针对所有键,键绑定是针对特定键。