JDK-4736672 : Ctrl-Tab and Shift-Ctrl-Tab do not work in JTabbedPane in Windows Look and Feel
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 1.4.0,1.4.1
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_2000,windows_xp
  • CPU: x86
  • Submitted: 2002-08-26
  • Updated: 2003-05-13
  • Resolved: 2003-05-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 tigerFixed
Description

Name: jk109818			Date: 08/26/2002


FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

AND
 
java version "1.4.1-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-rc-b19)
Java HotSpot(TM) Client VM (build 1.4.1-rc-b19, mixed mode)

FULL OPERATING SYSTEM VERSION :
Microsoft Windows XP [Version 5.1.2600]


A DESCRIPTION OF THE PROBLEM :
Ctrl-Tab and Shift-Ctrl-Tab do not work as expected in
JTabbedPanes in Windows Look and Feel.  Although these are
the standard keyboard shortcuts to change between tabs
in "Tabbed Panes" in Windows applications, Java requires
the use of Ctrl-PageUp and Ctrl-PageDown to achieve this
effect.

Please consider updating the Windows Look and Feel to feel
like Windows applications in this respect.

Thanks in advance,

   Pete Riley

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Open MS Explorer or MS Internet Explorer
2. Select Tools and then Options
3. Notice how Ctrl-Tab switches panes toward the right and
Shift-Ctrl-Tab switches panes toward the left.


EXPECTED VERSUS ACTUAL BEHAVIOR :
Instead of switching among panes, Java currently acts as if
the Control key is not pressed.  Thus, it just tabs among
fields in a single pane instead of the expected result of
switching to a different pane.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
http://java.sun.com/docs/books/tutorial/uiswing/components/example-
swing/TabbedPaneDemo.java
---------- END SOURCE ----------
(Review ID: 163584) 
======================================================================

Name: jk109818			Date: 10/23/2002


FULL PRODUCT VERSION :
java version "1.4.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03)
Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)

FULL OPERATING SYSTEM VERSION :
Microsoft Windows 2000 [Version 5.00.2195]

A DESCRIPTION OF THE PROBLEM :
In Windows,  an MDI program or a tabbed pane should respond
to the <Ctrl-Tab>/<Ctrl-Shift-Tab> keystrokes by cycling
forwards/backwards through the frame/tab list.


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1.  Take the standard demo apps ...

http://java.sun.com/docs/books/tutorial/uiswing/events/examp
le-swing/InternalFrameEventDemo.java

http://java.sun.com/docs/books/tutorial/uiswing/components/e
xample-swing/TabbedPaneDemo.java

... and adapt them to run in Windows L&F 


EXPECTED VERSUS ACTUAL BEHAVIOR :
In a Windows MDI,  you'd expect holding down the <Ctrl> key
and pressing <Tab> or <Shift-Tab> to cycle through internal
frames in a manner analogous to the way holding down the
<Alt> key and pressing the same keys cycles through the
windows open on the desktop.

The cycle order is that of focus history/last visited.

Eg:  Load 3 spreadsheets into Excel or three text files
into TextPad and experiment,  you should find that this is
what happens ...

Hold down <Ctrl>, press <Tab> once, release <Ctrl> should
revert you to the internal frame that most recently had the
focus.

Hold down <Ctrl>, press <Shift-Tab> once, release <Ctrl>
should revert you to the internal frame that most distantly
had the focus.

Hold down <Ctrl>, press <Tab> 2x, release <Ctrl> should
revert you to the internal frame that second most recently
had the focus.

And so on.

In an exactly similar way,  in a tabbed pane,  <Ctrl-Tab>
and <Ctrl-Shift-Tab> should cycle through the tabs.

Eg: Right-click on the Windows Desktop and choose
Properties to bring up the Display Properties.  To see the
effect in action,  experiment with holding down <Ctrl> and
pressing <Tab> and <Shift-Tab> a few times before releasing
<Ctrl> again.

Now launch either of the two demo programs (in the internal
frame event demo press the 'Show internal frame' to get a
second frame) and press any combination of <Ctrl> <Shift>
and <Tab>.  Nothing happens.

REPRODUCIBILITY :
This bug can be reproduced always.

(Review ID: 165707)
======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger FIXED IN: tiger INTEGRATED IN: tiger tiger-b07
14-06-2004

EVALUATION These keybindings are in BasicLookAndFeel for the tabbed pane, but do not seem to be executed. Instead of traversing the tabs focus is changed. ###@###.### 2002-10-18 Name: omR10226 Date: 01/20/2003 The problem is in KeyboardFocusManager. The CTRL+TAB and CTRL+SHIFT+TAB are default traversal keys. KeyboardFocusManager intercepts and processes the key events for CTRL+TAB and for CTRL+SHIFT+TAB. ###@###.###
11-06-2004