How to disable CONTROL+PAGE_UP of a JTabbedPane?

2019-07-15 13:36发布

问题:

How to disable the default behavior of CONTROL+PAGE_UP and CONTROL+PAGE_DOWN of a JTabbedPane?

回答1:

The following code disables the usual behavior

JTabbedPane jTabbedPane = new JTabbedPane();
KeyStroke ctrlTab = KeyStroke.getKeyStroke("ctrl PAGE_DOWN");
KeyStroke ctrlShiftTab = KeyStroke.getKeyStroke("ctrl PAGE_UP");
InputMap inputMap = jTabbedPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
inputMap.put(ctrlTab, "none");
inputMap.put(ctrlShiftTab, "none");

Here is an example for Switching tab using Ctrl + Tab



回答2:

  • KeyBindings are used for internall commands (for Swing JComponents)

  • see list of KeyBindings by @camickr

  • get ctrl PAGE_DOWN / ctrl PAGE_UP (implemented KeyBindings in API for JTabbedPane) and to set to null