11.1.1 JFC Keyboard Bindings for Windows95/NT Components
JApplet Navigate in - Tab Navigate out - Ctrl+Tab, Shift+Ctrl+Tab (reverses direction) I class com.sun.java.swing.JComponent A AbstractButton 1 JButton Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Activate - Enter a BasicArrowButton 2 JMenuItem Navigate in - Arrow key Navigate out - Arrow key Activate - Enter (unposts menu and goes to last window item with focus) a JCheckBoxMenuItem (See Note) Navigate in - Arrow keys Navigate out - Arrow key Check - Enter (unposts menu and goes to last window item with focus) Un-check - Enter (unposts menu and goes to last window item with focus) Note - Should Check match JCheckBox? b JMenu Post - Enter Un-post - Esc (steps back one post at a time, e.g. unpost backward from submenu in following menubar sequence F10>f>down arrow>submenu) Enter Navigate within - Arrow keys R(L) arrow posts a submenu c JRadioButtonMenuItem (See Note) Navigate in - Arrow Keys Navigate out - " Check - Enter (unposts menu and goes to last window item with focus) Note - Should Check match JRadioButton? 3 JToggleButton Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Navigate within - Arrow keys Toggle on/off- Spacebar a JCheckBox Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Navigate within - Arrow Keys Check - Spacebar Un-check - Spacebar b JRadioButton Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Navigate within - Arrow keys Toggle on/off- Spacebar B JColorChooser C JComboBox Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Post menu - Alt+Down arrow Unpost menu - Esc Navigate within list - Arrow keys Select from list - Enter Cycle thru entries without posting menu - Up/Down Arrow Keys D JDesktopIcon Navigate in - Alt+esc, Alt+Tab, Ctrl+esc, Ctrl+Tab, Shift+... (navigates first between open primary windows then desktop icons) Navigate out - Same as above Open icon - Enter, Ctrl+F5, Alt+F5 Alt+Spacebar (post window menu then chose restore menu item in window menu) E JDirectoryPane (See Note) Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Open file - Enter Navigate within - U/D Arrow = Move focus up/down one row or line L/R Arrow = Move focus l/r one component or column PgUp, PgDn = Move up/down one JViewport view, first focusable component in view gets focus home = move to beginning of row or line, first focusable component in row/line gets focus end = move to end of row or line, last focusable component in row/line gets focus Ctrl+home = move to beginning of data, first focusable component gets focus Ctrl+end = move to end of data, last focusable component gets focus Ctrl+page down = move right one JViewport view, first focusable component in view gets focus Ctrl+page up = move left one JViewport view, first focusable component in view gets focus Selection - Spacebar = Select component Ctrl+A = Select all Ctrl+Spacebar = Discontiguous extension Shift+spacebar = contiguous selection Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of line Shift+end = extend selection to end of line Ctrl+Shift+home = extend selection to beginning of data Ctrl+Shift+end = extend selection to end of data Shift+left = extend selection left Shift+right = extend selection right Shift+page down = extend selection down one view Shift+page up = extend selection up one view Ctrl+Shift+page down = extend selection right one view Ctrl+Shift+page up = extend selection left one view Note - Ctrl+A causes I18N work, use Ctrl+/? 1 JFileChooser F JInternalFrame Open (Restore) - Ctrl+F5, Alt+F5 Close - Ctrl+F4, Alt+F5 (Removes window from desktop or quits application) Move - Ctrl+F7, Alt+F7 (arrows keys cause window movement, a visual indicator of new window position must appear when arrow keys pressed) Resize - Ctrl+F8, Alt+F8 (arrows keys cause window resize, a visual indicator of new window size must appear when arrow keys pressed) Minimize - Ctrl+F9, Alt+F9 (Iconifies window) G JLayeredPane 2 JDesktopPane Navigating - Ctrl+Alt+F6, Shift+Ctrl+Alt+F6 (navigates first between open primary windows then desktop icons) Alt+Tab, Shift+Alt+Tab (same as above) Ctrl+F6, Shift+Ctrl+F6 (navigates between associated windows) Alt+F6, Shift+Alt+Tab (same as above) Post desktop popup menu - Shift+Esc, Alt+Spacebar H JList (See Note) Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Default action - Enter Navigate within - U/D Arrow = Move up/down one row or line PgUp, PgDn = Move up/down one view home = move to beginning of list end = move to end of list Selection (assumes list enables multiple selections) - Ctrl+A = Select all Ctrl+Spacebar = Discontiguous extension Shift+spacebar = contiguous selection Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of list Shift+end = extend selection to end of list Shift+page down = extend selection down one view Shift+page up = extend selection up one view Note - Ctrl+A causes I18N work, use Ctrl+/? I JMenuBar Navigate in - F10 (Focus is given to first menubar item) Navigate out - Tab, Shift+Tab (Win32 doesn't provide this) Esc (returns focus to last component that had it) Navigate between menubar items - Arrow keys Post menu - D(U) Arrow key or Enter Unpost menu - Esc (causes all open menus to unpost, returns focus to last component that had it) Enter = causes default or selected action J JOptionPane Navigate in - Alt+F6 Navigate out - Alt+F6 Unpost (dismiss) - Esc Note - The first focusable component must be given focus when JOptionPane gets focus, this window should automatically get focus when a dialog box pops up K JPanel L JPopupMenu Post menu - Shift+F10 Unpost menu - Esc Navigate within - Arrow keys Activate selection- Enter (dismisses popup) M JProgressBar N JRootPane O JScrollBar P JScrollPane Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Navigate within - Arrow keys PgUp, PgDn = Move up/down one JViewport view Ctrl+home = move to beginning of data Ctrl+end = move to end of data Ctrl+page down = move right one JViewport view Ctrl+page up = move left one JViewport view Q JSeparator None defined R JSlider Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Change value - Arrow keys, Home = move to left/top most value (minimum) end = move to right/bottom most value (maximum) Pgup = Big jump in the left/top direction (~20% of scale) Pgdn = Big jump in the right/bottom direction (~20% of scale) Note - The top/bottom conditions account for vertical sliders - Navigate in/out is new, not currently provided by native comp. S JSplitPane [See Note] Navigate in - Tab Navigate out - Ctrl+Tab, Ctrl+Shift+Tab Navigate between - Tab, F6 (last element with focus regains focus when its pane is moved to, F6 provides CUA compliance) Give focus spliter bar - F8 Change size - Arrow keys, home, and end (moves the pane splitter appropriately) Note - Win32 doesn't provide F6 and F8 sequence T JTabbedPane Navigate in - Tab (focus goes to the tab, not the pane) Navigate out - Ctrl+Tab (leaves JTabbedPane when focus is on tabs or inside the tab page, components inside tab page that have focus are given priority for processing the keysequence e.g. JTextArea processes before JTabbedPane) Navigate tabs - Arrow keys = moves between tabs Navigate between tabs and tab page - Ctrl+Down and Enter = moves from tab to its associated page Ctrl+Down = moves from tab to its associated page Ctrl+Up = moves from tab page to its associated tab Cycle through tab pages - Cntrl-PgUp/Down = moves to next/previous tab page plus first focusable component in the tab page is given focus or focusable the component that last had focus is given focus when the page comes into view. U JTable (See Note) Navigate In - Tab, shift-tab, control-tab, shift-control-tab Navigate Out - Control-tab, shift-control-tab (reverses direction) Navigate within - The discussion below is for a table (such as a typical spreadsheet) that allows identified or editable cell rectangle selection. Keyboard navigation will be simplified for the other, more restricted, cases. Return/shift-return - move focus one cell down/up. If only one cell is selected, the focus should wrap (top to bottom, left to right, and then back to the top, left cell for return) so as to traverse the entire table. If more than one cell is selected, the focus should wrap to traverse each selected rectangle in turn and then repeat from the beginning. Shift-return is similar but moves in the reverse direction. Tab/shift-tab - move focus one cell right/left. If only one cell is selected, the focus should wrap (left to right, top to bottom and then back to the top, left cell for tab) so as to traverse the entire table. If more than one cell is selected, the focus should wrap to traverse each selected rectangle in turn and then repeat from the beginning. Shift-tab is similar but moves in the reverse direction. Up/down arrow - deselect current selection; move focus one cell up/down Left/right arrow - deselect current selection; move focus one cell left/right PageUp/PageDown - deselect current selection; scroll up/down one JViewport view; first visible cell in current column gets focus Control-PageUp/PageDown - deselect current selection; scroll left/right one JViewport view; first visible cell in current row gets focus Home/end - deselect current selection; move focus and view to first/last cell in current row Control-home/end - deselect current selection; move focus and view to upper-left/lower-right cell in table Extending Selections in Tables Control-A - select all Shift-up/down arrow - extend selection up/down one row Shift-left/right arrow - extend selection left/right one column Control-shift up/down arrow - extend selection to top/bottom of column Shift-home/end - extend selection to left/right end of row Control-shift-home/end - extend selection to beginning/end of data Shift-PageUp/PageDown - extend selection up/down one view and scroll table Control-shift-PageUp/PageDown - extend selection left/right one view and scroll table Note - Need sequence for editing and navigating within a cell. For example, Excel uses Ctrl+U. - Ctrl+A causes I18N work, use Ctrl+/? V JTableHeader W JTextComponent 1 JTextArea (See Note) Navigate in - Tab Navigate out - Ctrl+Tab, Shift+Ctrl+Tab (reverses direction) Navigate within - U/D Arrow = Move focus up/down one line L/R Arrow = Move focus l/r one component or character PgUp, PgDn = Move up/down one JViewport view, input focus set to first character or object in view home = move to beginning of line, input focus set to first character or object in view end = move to end of row or line, input focus set to last character or object in line Ctrl+R/L = Move to next/Previous word Ctrl+home = move to beginning of data, input focus set to first character or object in text area Ctrl+end = move to end of data, input focus set to last character or object in text area Ctrl+page down = move right one JViewport view, input focus set to first character or object in view Ctrl+page up = move left one JViewport view, input focus set to first character or object in view Selection - Ctrl+A = Select all Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of line Shift+end = extend selection to end of line Ctrl+Shift+home = extend selection to beginning of data Ctrl+Shift+end = extend selection to end of data Shift+left = extend selection left Shift+right = extend selection right Shift+page down = extend selection down one view Shift+page up = extend selection up one view Ctrl+Shift+R/L arrow = extend selection to the next/previous word Ctrl+Shift+page down = extend selection right one view Ctrl+Shift+page up = extend selection left one view Note - Ctrl+A causes I18N work, use Ctrl+/? 2 JTextField Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Navigate within - L/R Arrow keys = Move input focus to next character in field Ctrl+R/L arrow = Move to next/Previous word Home = Move input focus to beginning of field End = Move input focus to end of field Submit entry - Return Selection - Shift+home = extend selection to beginning of line Shift+end = extend selection to end of line Shift+left = extend selection left Shift+right = extend selection right Shift+Ctrl+R/L arrow = extend selection to the next/previous word a JPasswordField Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Navigate within - L/R Arrow keys = Move input focus to next character in field Ctrl+R/L arrow = Next/Previous word Home = Move input focus to beginning of field End = Move input focus to end of field Submit password - Return Selection - Shift+home = extend selection to beginning of line Shift+end = extend selection to end of line Shift+left = extend selection left Shift+right = extend selection right Shift+Ctrl+R/L arrow = extend selection to the next/previous word 3 JTextPane (See Note) Navigate in - Tab Navigate out - Ctrl+Tab, Shift+Ctrl+Tab (reverses direction) Navigate within - U/D Arrow = Move focus up/down one line L/R Arrow = Move focus l/r one component or character PgUp, PgDn = Move up/down one JViewport view, input focus set to first character or object in view home = move to beginning of line, input focus set to first character or object in view end = move to end of row or line, input focus set to last character or object in line Ctrl+R/L arrow = Move to next/Previous word Ctrl+home = move to beginning of data, input focus set to first character or object in text area Ctrl+end = move to end of data, input focus set to last character or object in text area Ctrl+page down = move right one JViewport view, input focus set to first character or object in view Ctrl+page up = move left one JViewport view, input focus set to first character or object in view Selection - Ctrl+A = Select all Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of line Shift+end = extend selection to end of line Ctrl+Shift+home = extend selection to beginning of data Ctrl+Shift+end = extend selection to end of data Shift+left = extend selection left Shift+right = extend selection right Shift+page down = extend selection down one view Shift+page up = extend selection up one view Ctrl+Shift+R/L arrow = extend selection to the next/previous word Ctrl+Shift+page down = extend selection right one view Ctrl+Shift+page up = extend selection left one view Note - Ctrl+A causes I18N work, use Ctrl+/? a JHTMLPane (See Note) Navigate in - Tab Navigate out - Tab, Shift+Tab, Ctrl+Tab, Shift+Ctrl+Tab Navigate within the page - U/D Arrow = Move focus up/down one line L/R Arrow = Move focus l/r one component or character PgUp, PgDn = Move up/down one JViewport view, input focus set to first character or object in view home = move to beginning of line, input focus set to first character or object in view end = move to end of row or line, input focus set to last character or object in line Ctrl+R/L = Move to next/Previous word Ctrl+home = move to beginning of data, input focus set to first character or object in text area Ctrl+end = move to end of data, input focus set to last character or object in text area Ctrl+page down = move right one JViewport view, input focus set to first character or object in view Ctrl+page up = move left one JViewport view, input focus set to first character or object in view Navigate link and other focusable elements - Tab, Shift+Tab, Ctrl+Tab, Shift+Ctrl+Tab = Changes focus to next/previous focusable element in a view (changes view to show focusable element when next or previous focusable element is out of view, Ctrl sequence used for components that accept Tab, e.g. JTextPane) Activate link - Enter Text selection - Ctrl+A = Select all Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of line Shift+end = extend selection to end of line Ctrl+Shift+home = extend selection to beginning of data Ctrl+Shift+end = extend selection to end of data Shift+left = extend selection left Shift+right = extend selection right Shift+page down = extend selection down one view Shift+page up = extend selection up one view Ctrl+Shift+R/L arrow = extend selection to the next/previous word Ctrl+Shift+page down = extend selection right one view Ctrl+Shift+page up = extend selection left one view Note - Ctrl+A causes I18N work, use Ctrl+/? - Can you add a cursor that shows where you are or gives the starting point in page up/down, arrowing, cut, paste, etc? X JToolBar (See Note) Navigate in - Tab Navigate out - Tab, Ctrl+Tab, Shift+... also Navigate within - Arrow keys Activate - Enter Note - Win32 does not enable any tool bar navigation. Y JToolTip (See Note) Post tip - Ctrl+F1 (for component with focus) Unpost tip - Esc and Ctrl+F1 Note - This is a newly defined sequence, Win32 doesn't provide this. Z JTree (See Note) Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Expand hierarchy - R Arrow Key Contract hierarchy - L Arrow Key Navigate within - U/D Arrow = Move focus up/down one tree element home = move focus to first element in tree, view is changed to show first element end = move focus to first element in tree, view is changed to show first element PgUp, PgDn = Move up/down one JViewport view, first focusable element in view gets focus Ctrl+page down = move right one JViewport view, first focusable component in view gets focus Ctrl+page up = move left one JViewport view, first focusable component in view gets focus Selection (assumes selection is supported) - Ctrl+A = Select all Ctrl+Spacebar = discontiguous selection Shift+spacebar = contiguous selection Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of data Shift+end = extend selection to end of data Shift+page down = extend selection down one view Shift+page up = extend selection up one view Ctrl+Shift+page down = extend selection right one view Ctrl+Shift+page up = extend selection left one view Note - Ctrl+A causes I18N work, use Ctrl+/? AA JViewport AB Spinner Navigate in - Tab Navigate out - Tab, Shift+Tab Change value - U/D Arrow Keys Home = move to minimum most value end = move to maximum most value Pgup = Big jump in the minimum direction (~20% of scale) Pgdn = Big jump in the maximum direction (~20% of scale) 1 StringSpinner Navigate in - Tab Navigate out - Tab, Shift+Tab (reverses direction) Change value - U/D Arrow Keys Home = move to minimum most value end = move to maximum most value Pgup = Big jump in the minimum direction (~20% of scale) Pgdn = Big jump in the maximum direction (~20% of scale)