JDK-6310008 : TAB bindings on components are now ignored
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 6
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_2000,windows_xp
  • CPU: x86
  • Submitted: 2005-08-11
  • Updated: 2011-01-19
  • Resolved: 2005-10-03
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.
JDK 6
6 b50Fixed
Related Reports
Relates :  
Description
Changing description - original description below

Hitting the TAB key is now always processed to move focus. TAB bindings in components are ignored. For example, TAB can no longer be used to insert a character in text components. TAB can no longer be used to navigate within JTable.

-------------------------------------------------------

JDK        	    : Fails On:   Mustang b46
                      Passes On:  Mustang b45
Platform[s]         : Fails On:  win2000 Pro
Failing Test [s]    : CTE_REGTEST/Generic/4890345/Test4890345.java

    Test source location:
    =====================
/net/jdk/export/jpse04/Regression/1.6.0/test/CTE_REGTEST/Generic/4890345/Test4890345.java

    jtr file location:
    ==================
/net/cady/export6/results/mustang/b46/reg/regression-cte-reg-mustang-win2000-2005-08-08-17-58-05-0887/workDir/CTE_REGTEST/Generic/4890345/Test4890345.jtr

    How to reproduce:
    ====================
    - Set JAVA_HOME to Mustang b46 windows-i586
    - cd /net/jdk/export/jpse04/Regression/1.6.0/test/CTE_REGTEST/Generic/4890345     
    - /net/koori.sfbay/onestop/jct-tools/2.1.6/archive/fcs/binaries/win32/bin/jtreg -r:/tmp -w:/tmp Test4890345.java

    Test output:
    =============
java.lang.RuntimeException: Popup was not shown after VK_DOWN press. Test failed.
        at Test4890345.main(Test4890345.java:86)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:82)
        at java.lang.Thread.run(Thread.java:608)

Comments
SUGGESTED FIX In ButtonKeyEventDispatcher.dispatchKeyEvent, change Container focusCycleRoot = currentFocused.getFocusCycleRootAncestor(); if (focusCycleRoot == null) { return false; } Set<AWTKeyStroke> forwardSet = focusCycleRoot.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS); Set<AWTKeyStroke> backwardSet = focusCycleRoot.getFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS); to Set<AWTKeyStroke> forwardSet = currentFocused.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS); Set<AWTKeyStroke> backwardSet = currentFocused.getFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS); Untested.
26-08-2005

EVALUATION This was introduced by the fix for 4226243. The new class, ButtonKeyEventDispatcher.java, ignores key bindings on components and simply checks to see if they are focus traversal keys.
12-08-2005