当我按Ctrl
+ Tab
时,JTabbedPane
中的所选标签会获得焦点。
但我想删除此密钥绑定。所以我有自己的键绑定Ctrl + Tab动作。 它被分配给JTabbedPane。
但它没有被解雇,因为这个键绑定仍然关注当前标签。
答案 0 :(得分:2)
所以我对键绑定Ctrl + Tab有自己的操作。它被分配给JTabbedPane。
分配Key Binding时是否使用了正确的InputMap?大多数LAF将使用JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
InputMap。
请参阅Key Bindings以获取LAF的绑定列表。
如果Key Binding不起作用,那么另一个选项可能是从选项卡式窗格中删除Ctrl-Tab作为焦点遍历键:
Set newForwardKeys = new HashSet();
newForwardKeys.add( KeyStroke.getKeyStroke("TAB") );
tabbedPane.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, newForwardKeys);