-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
-
6
-
Cause Known
-
x86
-
solaris_10
FULL PRODUCT VERSION :
java version "1.6.0-rc"
A DESCRIPTION OF THE PROBLEM :
I have identified these classes that at the minumum mention Hashtable in their implementation:
javax/swing/AbstractAction.java
javax/swing/ArrayTable.java
javax/swing/DebugGraphicsInfo.java
javax/swing/JComponent.java
javax/swing/JEditorPane.java
javax/swing/JLayeredPane.java
javax/swing/JMenu.java
javax/swing/JPopupMenu.java
javax/swing/JSlider.java
javax/swing/JTable.java
javax/swing/JToolBar.java
javax/swing/JTree.java
javax/swing/KeyboardManager.java
javax/swing/SwingUtilities.java
javax/swing/SystemEventQueueUtilities.java
javax/swing/UIDefaults.java
javax/swing/UIManager.java
javax/swing/plaf/basic/BasicFileChooserUI.java
javax/swing/plaf/basic/BasicTabbedPaneUI.java
javax/swing/plaf/basic/BasicTableUI.java
javax/swing/plaf/basic/BasicTextUI.java
javax/swing/plaf/basic/BasicToolBarUI.java
javax/swing/plaf/basic/BasicTreeUI.java
javax/swing/plaf/synth/SynthTabbedPaneUI.java
javax/swing/text/AbstractDocument.java
javax/swing/text/DefaultStyledDocument.java
javax/swing//text/JTextComponent.java
javax/swing/text/SimpleAttributeSet.java
javax/swing/text/Style.java
javax/swing/text/StyleContext.java
javax/swing/text/TextAction.java
javax/swing/text/TextLayoutStrategy.java
javax/swing/text/html/AccessibleHTML.java
javax/swing/text/html/CSS.java
javax/swing/text/html/HTML.java
javax/swing/text/html/HTMLDocument.java
javax/swing/text/html/MinimalHTMLWriter.java
javax/swing/text/html/StyleSheet.java
javax/swing/text/html/parser/AttributeList.java
javax/swing/text/html/parser/DTD.java
javax/swing/text/html/parser/Element.java
javax/swing/text/html/parser/Entity.java
javax/swing/text/html/parser/Parser.java
javax/swing/text/rtf/RTFAttributes.java
javax/swing/text/rtf/RTFGenerator.java
javax/swing/text/rtf/RTFReader.java
javax/swing/tree/DefaultTreeSelectionModel.java
javax/swing/tree/FixedHeightLayoutCache.java
javax/swing/tree/VariableHeightLayoutCache.java
javax/swing/undo/StateEdit.java
javax/swing/undo/StateEditable.java
Some like AbstractAction import Hashtable but do not use it. Others like ArrayTable use a Hashtable for its storage.
The reason to convert would be to remove unnecessary synchronization. Hashtable's methods are synchronized, HashMaps are not.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
read source, find usage
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
use HashMaps instead of Hashtables
ACTUAL -
Hashtables, everywhere!
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
read java source, their there
---------- END SOURCE ----------
java version "1.6.0-rc"
A DESCRIPTION OF THE PROBLEM :
I have identified these classes that at the minumum mention Hashtable in their implementation:
javax/swing/AbstractAction.java
javax/swing/ArrayTable.java
javax/swing/DebugGraphicsInfo.java
javax/swing/JComponent.java
javax/swing/JEditorPane.java
javax/swing/JLayeredPane.java
javax/swing/JMenu.java
javax/swing/JPopupMenu.java
javax/swing/JSlider.java
javax/swing/JTable.java
javax/swing/JToolBar.java
javax/swing/JTree.java
javax/swing/KeyboardManager.java
javax/swing/SwingUtilities.java
javax/swing/SystemEventQueueUtilities.java
javax/swing/UIDefaults.java
javax/swing/UIManager.java
javax/swing/plaf/basic/BasicFileChooserUI.java
javax/swing/plaf/basic/BasicTabbedPaneUI.java
javax/swing/plaf/basic/BasicTableUI.java
javax/swing/plaf/basic/BasicTextUI.java
javax/swing/plaf/basic/BasicToolBarUI.java
javax/swing/plaf/basic/BasicTreeUI.java
javax/swing/plaf/synth/SynthTabbedPaneUI.java
javax/swing/text/AbstractDocument.java
javax/swing/text/DefaultStyledDocument.java
javax/swing//text/JTextComponent.java
javax/swing/text/SimpleAttributeSet.java
javax/swing/text/Style.java
javax/swing/text/StyleContext.java
javax/swing/text/TextAction.java
javax/swing/text/TextLayoutStrategy.java
javax/swing/text/html/AccessibleHTML.java
javax/swing/text/html/CSS.java
javax/swing/text/html/HTML.java
javax/swing/text/html/HTMLDocument.java
javax/swing/text/html/MinimalHTMLWriter.java
javax/swing/text/html/StyleSheet.java
javax/swing/text/html/parser/AttributeList.java
javax/swing/text/html/parser/DTD.java
javax/swing/text/html/parser/Element.java
javax/swing/text/html/parser/Entity.java
javax/swing/text/html/parser/Parser.java
javax/swing/text/rtf/RTFAttributes.java
javax/swing/text/rtf/RTFGenerator.java
javax/swing/text/rtf/RTFReader.java
javax/swing/tree/DefaultTreeSelectionModel.java
javax/swing/tree/FixedHeightLayoutCache.java
javax/swing/tree/VariableHeightLayoutCache.java
javax/swing/undo/StateEdit.java
javax/swing/undo/StateEditable.java
Some like AbstractAction import Hashtable but do not use it. Others like ArrayTable use a Hashtable for its storage.
The reason to convert would be to remove unnecessary synchronization. Hashtable's methods are synchronized, HashMaps are not.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
read source, find usage
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
use HashMaps instead of Hashtables
ACTUAL -
Hashtables, everywhere!
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
read java source, their there
---------- END SOURCE ----------
- relates to
-
JDK-6455353 Replace usage of Stack with ArrayDeque in Swing, when appropiate
-
- Closed
-
-
JDK-4304287 Swing components should require the use of Collections and not Vectors
-
- Open
-
-
JDK-6454582 Replace usage of Vectors with ArrayLists in Swing, where appropiate
-
- Open
-