Component Keystroke Actions for the Metal L&F

This page gives the Metal Look&Feel keystroke-actions for:

Note:
Where the implementation occurs in other than the obvious Look and Feel (L&F) class, the implementing class is shown in parentheses. For example: (DefaultFocusManager). Currently implemented keystrokes that are not to spec are shown in ALL CAPS.


The Applet Component

Component Action Intended Key Implemented
JApplet
(Metal L&F)
Navigate out forward Tab yes (DefaultFocusManager)
Naviage out backward Shift+Tab yes (DefaultFocusManager)
Activate the default button (if defined) Enter yes (JRootPane)


Standard Components

Component Action Intended Key Implemented
JButton
(Metal L&F)
Navigate forward Tab yes (DefaultFocusManager)
Navigate backward Shift+Tab yes (DefaultFocusManager)
Activate Enter  
Spacebar yes (BasicButtonListener)
Alt+Char accelerator key, if defined yes (JButton)

Component Action Intended Key Implemented
JCheckBox
(Metal L&F)
Navigate forward Tab yes (DefaultFocusManager)
Navigate backward Shift+Tab yes (DefaultFocusManager)
Navigate within group arrow keys  
Check Spacebar yes (BasicButtonListener)
Uncheck

Component Action Intended Key Implemented
JRadioButton
(Metal L&F)
Navigate forward Tab yes (DefaultFocusManager)
Navigate backward Shift+Tab yes (DefaultFocusManager)
Navigate within group
(Navigating to a radio button selects it)
arrow keys  
Check Spacebar yes (BasicButtonListener)
Uncheck

Component Action Intended Key Implemented
JToggleButton
(Metal L&F)
Navigate forward Tab yes (DefaultFocusManager)
Navigate backward Shift+Tab yes (DefaultFocusManager)
Navigate within group arrow keys  
Check Spacebar yes (BasicButtonListener)
Uncheck

Component Action Intended Key Implemented
JComboBox
(Metal L&F)
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Post menu Alt+Down yes (JComboBox)
Retract menu Esc, Alt+Up yes (JComboBox)
Toggle menu up or down Alt+Up
Alt+Down
yes (JComboBox)
Spacebar yes
Select entry with matching initial character (if not editable) any char yes
Move up or down Up, Down yes
Other navigation keys?? See JList
Edit field See JTextField  
Activate selection Enter yes (JComboBox)

Component Action Intended Key Implemented
JList
(Metal L&F)
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Activate selection Enter  
Move within list Up, Down yes (JList)
Block move PgUp, PgDn  
To beginning of list Home  
To end of list End  
Select all entries Ctrl+A  
Select an additional item Ctrl+Spacebar  
Range select Shift+Spacebar  
Extend selection range up Shift+Up  
Extend selection range down Shift+Down  
Extend selection range to top Shift+Home  
Extend selection range to end Shift+End  
Block extend up Shift+PgUp  
Block extend down Shift+PgDn  

Component Action Intended Key Implemented
JSlider
(Metal L&F)
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Increase value Up, Right yes
Decrease value Left, Down yes
Minimum value Home yes
Maximum value End yes
Block increase PgUp yes
Block decrease PgDn yes

Component Action Intended Key Implemented
JSpinner
(Metal L&F)
Not Yet Released
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Change value Up, Down yes

Component Action Intended Key Implemented
JStringSpinner
(Metal L&F)
Not Yet Released
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Change value Up, Down yes


Structured Components

Component Action Intended Key Implemented
JTable
(Metal L&F)
Navigate out forward Ctrl+Tab  
Navigate out backward Ctrl+Shift+Tab  
Move to next cell
(wrap to next row)
Tab  
Right yes
Move to previous cell
(wrap to previous row)
Shift+Tab  
Left yes
Move to cell above Shift+Enter  
Up yes
Move to cell below Enter  
Down yes
Block move vertical PgUp, PgDn  
Block move left Ctrl+PgUp  
Block move right Ctrl+PgDn  
Move to first cell in row Home  
Move to last cell in row End  
Move to first cell in table Ctrl+Home  
Move to last cell in table Ctrl+End  
Select all cells Ctrl+A  
Select a non-contiguous row -none-  
Range-select -none-  
Extend selection one row Shift+Up, Shift+Down  
Extend selection one column Shift+Left, Shift+Right  
Extend selection to first/last column Shift+Home, Shift+End  
Extend selection to first/last row -none-  
Extend selection to first/last cell Ctrl+Shift+Home, Ctrl+Shift+End  
Block extend vertical Shift+PgUp, Shift+PgDn  
Block extend left Ctrl+Shift+PgUp  
Block extend right Ctrl+Shift+PgDn  
Begin editing cell ???  
Edit cell See JTextField  

Component Action Intended Key Implemented
JTree
(Metal L&F)
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Expand entry Right yes (JTree)
Collapse entry Left yes (JTree)
Toggle expand/collapse for entry Enter yes (JTree)
Expand all entries -none- n/a
Collapse all entries -none- n/a
Move up/down one entry Up, Down yes (JTree)
Move to first entry Home yes (JTree)
Move to last entry End yes (JTree)
Block move vertical PgUp, PgDn yes (JTree)
Block move left Ctrl+PgUp  
Block move right Ctrl+PgDn  
Select all Ctrl+A  
Single select Ctrl+Spacebar  
Range-select Shift+Spacebar  
Extend selection up Shift+Up  
Extend selection down Shift+Down  
Extend selection to start of data Shift+Home  
Extend selection to end of data Shift+End  
Block extend vertical Shift+PgUp, Shift+PgDn  
  Edit cell See JTextField  


Menu, Toolbar, and ToolTip Components

Component Action Intended Key Implemented
JMenuBar
(Metal L&F)
Navigate out Esc yes (JMenuBar)
Select first item
(if no item selected)
F10  
Select next item Right yes (JMenuBar)
Select previous item Left yes (JMenuBar)
Post menu Up, Down  
Enter yes
Spacebar yes (BasicButtonListener)
Alt+Char accelerator key, if defined yes

Component Action Intended Key Implemented
JMenu
(Metal L&F)
Move to next item
(wrap to top)
Down yes
Move to previous item
(wrap to bottom)
Up yes
Retract menu Esc yes

Component Action Intended Key Implemented
JMenuItem
(Metal L&F)
Activate item Enter yes
Spacebar yes (BasicButtonListener)
Alt+Char accelerator key, if defined yes (JMenuItem)
Post submenu Right yes
Retract submenu Left yes
Esc yes

Component Action Intended Key Implemented
JCheckBoxMenuItem
(Metal L&F)
Check/Uncheck item
(and retract menu)
See JMenuItem, "Activate item"

Component Action Intended Key Implemented
JRadioButtonMenuItem
(Metal L&F)
Check/Uncheck item
(and retract menu)
See JMenuItem, "Activate item"

Component Action Intended Key Implemented
JPopupMenu
(Metal L&F)
Post menu Shift+F10  
Retract menu Esc yes
Move within menu Up, Down yes
Post submenu Right yes
Close submenu Left yes
Activate entry Enter yes
Spacebar yes (BasicButtonListener)

Component Action Intended Key Implemented
JToolBar
(Metal L&F)
Navigate out forward ?? Tab  
Navigate out backward ?? Shift+Tab  
Select first item
(if not in toolbar)
?? -none-
(must exist for key-navigation to be possible)
 
Select next item ?? Right  
Select previous item ?? Left  
Activate item ?? Enter  

Component Action Intended Key Implemented
JToolTip
(Metal L&F)
Post tip Ctrl+F1  
Retract tip Esc, Ctrl+F1  


Text Components

Component Action Intended Key Implemented
JTextField
(Metal L&F)
Navigate in Alt+Char accelerator key, if defined yes (JTextField)
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Move to prev/next char Left, Right yes (JTextComponent)
Move to prev/next word Ctrl+Left, Ctrl+Right no
Move to start/end of field Home/End yes (JTextComponent)
CTRL+LEFT, CTRL+RIGHT (BasicTextUI)
Submit entry Enter yes
Select all Ctrl+A  
Deselect all arrow keys  
Extend selection left/right Shift+Left, Shift+Right yes (BasicTextUI)
Extend selection to start/end Shift+Home, Shift+End  
Extend selection to prev/next word Ctrl+Shift+Left, Ctrl+Shift+Right  
Copy selection Ctrl+C yes (BasicTextUI)
Cut selection Ctrl+X yes (BasicTextUI)
Paste Ctrl+V yes (BasicTextUI)
Delete next character Delete  
Delete previous character Backspace yes (JTextComponent)

Component Action Intended Key Implemented
JPasswordField
(Metal L&F)
Navigate, move within the field, and select See JTextField
??Selection allowed??    

Component Action Intended Key Implemented
JTextArea
(Metal L&F)
Navigate in Alt+Char accelerator key, if defined yes (JTextArea)
Navigate out forward Ctrl+Tab  
Navigate out backward Ctrl+Shift+Tab  
Move up/down one line Up, Down yes (JTextComponent)
Move left/right one char Left, Right yes (JTextComponent)
Block move up/down PgUp, PgDn yes
Block move left Ctrl+PgUp  
Block move right Ctrl+PgDn  
Move to start/end of line Home, End no
Move to prev/next word Ctrl+Left, Ctrl+Right no
Move to start/end of text area Ctrl+Home, Ctrl+End HOME, END (JTextComponent)
CTRL+LEFT, CTRL+RIGHT (BasicTextUI)
Select all Ctrl+A  
Deselect all arrow keys  
Extend selection up/down Shift+Up, Shift+Down  
Extend selection left/right Shift+Left, Shift+Right
yes (BasicTextUI)
Extend selection to start/end of line Shift+Home, Shift+End  
Extend selection to start/end of text area Ctrl+Shift+Home, Ctrl+Shift+End  
Extend selection to prev/next word Ctrl+Shift+Left, Ctrl+Shift+Right  
Block extend up Shift+PgUp  
Block extend down Shift+PgDn  
Block extend left Ctrl+Shift+PgUp  
Block extend right Ctrl+Shift+PgDn  
Copy selection Ctrl+C yes (BasicEditorPaneUI)
Cut selection Ctrl+X yes (BasicEditorPaneUI)
Paste Ctrl+V yes (BasicEditorPaneUI)
Delete next character Delete yes (JTextComponent)
Delete previous character Backspace yes (JTextComponent)
Insert line break Enter yes
Insert tab Tab yes

Component Action Intended Key Implemented
JTextPane
(Metal L&F)
Navigate, move, select See JTextArea

Component Action Intended Key Implemented
JEditorPane
(Metal L&F)
Navigate, move, select See JTextArea
Move to next/prev HTML link
or other focusable element
Tab, Shift+Tab  
Move out of focusable elements that accept a tab Ctrl+Tab, Ctrl+Shift+Tab  
Activate an HTML link Enter  


Containers: Frames, Windows, Panes, and Icons

Component Action Intended Key Implemented
JDesktopPane
(Metal L&F)
Navigate forward among open application windows, then desktop icons Ctrl+Alt+F6
Alt+Tab
Alt+Esc
 
Navigate backward among open application windows, then desktop icons Ctrl+Alt+Shift+F6
Alt+Shift+Tab
 
Navigate forward among open associated windows Ctrl+F6
Alt+F6
 
Navigate backward among open associated windows Ctrl+Shift+F6
Alt+Shift+F6
 
Post  menu of window-options Shift+Esc
Ctrl+Spacebar
Alt+Spacebar
 
Open window (when iconized) Enter  

Component Action Intended Key Implemented
JDirectoryPane
(Metal L&F)
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Open file Enter  
Move up/down one entry Up, Down  
Move left/right one column Left, Right  
Block move PgUp, PgDn  
Block move left Ctrl+PgUp  
Block move right Ctrl+PgDn  
Move to first item in view -none-  
Move to last item in view -none-  
Move to first data item Ctrl+Home  
Move to last data item Ctrl+End  
Move to first column Home  
Move to last column End  
Select all Ctrl+A  
Deselect all arrow keys  
Select an item Spacebar  
Add to selection (single) Ctrl+Spacebar  
Range select Shift+Spacebar  
Extend selection up/down Shift+Up, Shift+Down  
Extend selection to start/end of line Shift+Home, Shift+end  
Extend selection to start/end of data Ctrl+Shift+Home, Ctrl+Shift+End  
Extend selection left/right Shift+Left, Shift+Right  
Block extend up Shift+PgUp  
Block extend down Shift+PgDn  
Block extend left Ctrl+Shift+PgUp  
Block extend right Ctrl+Shift+PgDn  

Component Action Intended Key Implemented
JOptionPane
(Metal L&F)
Navigate out Alt+F6  
Retract dialog Esc  
Activate the default button (if defined) Enter yes (JRootPane)

Component Action Intended Key Implemented
JDialog
(Metal L&F)
Navigate out Alt+F6  
Retract dialog Esc  
Activate the default button (if defined) Enter yes (JRootPane)

Component Action Intended Key Implemented
JScrollPane
(Metal L&F)
Navigate out forward Tab yes (DefaultFocusManager)
Navigate out backward Shift+Tab yes (DefaultFocusManager)
Move up/down Up, Down  
Move lerft/right Left, Right  
Block move up/down PgUp, PgDn  
Move to start/end of data Ctrl+Home, Ctrl+End  
Block move right Ctrl+PgDn  
Block move left Ctrl+PgUp  

Component Action Intended Key Implemented
JSplitPane
(Metal L&F)
Navigate out forward Ctrl+Tab  
Navigate out backward Ctrl+Shift+Tab  
Move between panes Tab, F6  
Move to splitter bar F8  
Resize pane vertical Up, Down  
Resize pane horizontal Left, Right  
Resize to min/max Home, End  

Component Action Intended Key Implemented
JTabbedPane
(Metal L&F)
Navigate out Ctrl+Tab  
Move to tab left/right Left, Right yes (JTabbedPane)
Move to tab above/below Up, Down yes (JTabbedPane)
Move from tab to page Enter, Ctrl+Down  
Move from page to tab Ctrl+Up  
Move from page to prev page Ctrl+PgUp  
Move from page to next page Ctrl+PgDn  

Component Action Intended Key Implemented
JFrame
(Metal L&F)
Navigate out Alt+Esc  
Display window menu Alt+Spacebar  
Activate the default button (if defined) Enter yes (JRootPane)

Component Action Intended Key Implemented
JInternalFrame
(Metal L&F)
Open (Restore) Ctrl+F5
Alt+F5
Enter
 
Close Ctrl+F4
Alt+F5
 
Move Ctrl+F7
Alt+F7
 
Resize Ctrl+F8
Alt+F78
 
Minimize Ctrl+F9
Alt+F9
 
Display window menu Alt+Spacebar  
Activate the default button (if defined) Enter yes (JRootPane)

Component Action Intended Key Implemented
JWindow
(Metal L&F)
Activate the default button (if defined) Enter yes (JRootPane)