United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 7039732 Control panel browse button CCE since JDK7-b136
7039732 : Control panel browse button CCE since JDK7-b136

Details
Type:
Bug
Submit Date:
2011-04-26
Status:
Closed
Updated Date:
2011-05-31
Project Name:
JDK
Resolved Date:
2011-05-31
Component:
deploy
OS:
solaris,solaris_1
Sub-Component:
deployment_toolkit
CPU:
sparc,generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
7

Related Reports
Duplicate:
Relates:

Sub Tasks

Description
tarts with JDK 7 b136.  Possible related to CR 5045147 work that went into b136.

PROBLEM DESCRIPTION
-------------------
Problem 1:
It is not possible to access the Browse button in the ControlPanel using the Keyboard.

Problem 2:
When you access Browse button using the mouse, an ClassCastException is thrown.

REPRODUCTION INSTRUCTIONS
-------------------------
1. Download the latest Java7 build & set the path.
2. Launch the Java control panel via bin/ControlPanel
3. Select the "Advanced" tab, then expand "Command to launch Default
   browser"
4. Try move the focus to the "Browse" Button with the Keyboard and
   activate it.

Expected result:
   Browse button should be accessible with keyboard and it should not
   throw an Exception when it is clicked.

Observed result:
   Cannot reach Browse button with keyboard. When clicking the button
   with the mouse a ClassCastException is thrown:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.KeyStroke cannot be cast to java.lang.Comparable
        at java.util.TreeMap.compare(TreeMap.java:1188)
        at java.util.TreeMap.put(TreeMap.java:531)
        at java.util.TreeSet.add(TreeSet.java:255)
        at java.util.Collections$SynchronizedCollection.add(Collections.java:1634)
        at com.sun.deploy.panel.TreeEditors$TextFieldEditor.<init>(Unknown Source)
        at com.sun.deploy.panel.TreeEditors.getEditor(Unknown Source)
        at com.sun.deploy.panel.TreeEditors.access$100(Unknown Source)
        at com.sun.deploy.panel.TreeEditors$DelegateEditor.pickEditor(Unknown Source)
        at com.sun.deploy.panel.TreeEditors$DelegateEditor.setCurrentEditor(Unknown Source)
        at com.sun.deploy.panel.TreeEditors$DelegateEditor.isCellEditable(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.startEditing(BasicTreeUI.java:2109)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3586)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3526)
        at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279)
        at java.awt.Component.processMouseEvent(Component.java:6460)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
        at java.awt.Component.processEvent(Component.java:6228)
        at java.awt.Container.processEvent(Container.java:2213)
        at java.awt.Component.dispatchEventImpl(Component.java:4819)
        at java.awt.Container.dispatchEventImpl(Container.java:2271)
        at java.awt.Component.dispatchEvent(Component.java:4645)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4816)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4473)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4406)
        at java.awt.Container.dispatchEventImpl(Container.java:2257)
        at java.awt.Window.dispatchEventImpl(Window.java:2677)
        at java.awt.Component.dispatchEvent(Component.java:4645)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
        at java.awt.EventQueue.access$000(EventQueue.java:101)
        at java.awt.EventQueue$3.run(EventQueue.java:666)
        at java.awt.EventQueue$3.run(EventQueue.java:664)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:680)
        at java.awt.EventQueue$4.run(EventQueue.java:678)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
*** (#1 of 1): 2011-04-19 18:21:28 EDT ###@###.###

fix for 7037958 only addressed 1 above, this is to cover 2.

                                    

Comments
EVALUATION

simple fix - just use collection that dosn't need ordering:
                                     
2011-05-02



Hardware and Software, Engineered to Work Together