src/share/classes/javax/swing/JSlider.java

Print this page

        

*** 136,146 **** /** * {@code Dictionary} of what labels to draw at which values */ ! private Dictionary labelTable; /** * The changeListener (no suffix) is the listener we add to the * slider's model. This listener is initialized to the --- 136,146 ---- /** * {@code Dictionary} of what labels to draw at which values */ ! private Dictionary<Integer, JComponent> labelTable; /** * The changeListener (no suffix) is the listener we add to the * slider's model. This listener is initialized to the
*** 767,780 **** if (!isShowing()) { return false; } // Check that there is a label with such image ! Enumeration elements = labelTable.elements(); while (elements.hasMoreElements()) { ! Component component = (Component) elements.nextElement(); if (component instanceof JLabel) { JLabel label = (JLabel) component; if (SwingUtilities.doesIconReferenceImage(label.getIcon(), img) || --- 767,780 ---- if (!isShowing()) { return false; } // Check that there is a label with such image ! Enumeration<JComponent> elements = labelTable.elements(); while (elements.hasMoreElements()) { ! JComponent component = elements.nextElement(); if (component instanceof JLabel) { JLabel label = (JLabel) component; if (SwingUtilities.doesIconReferenceImage(label.getIcon(), img) ||
*** 791,801 **** * Returns the dictionary of what labels to draw at which values. * * @return the <code>Dictionary</code> containing labels and * where to draw them */ ! public Dictionary getLabelTable() { /* if ( labelTable == null && getMajorTickSpacing() > 0 ) { setLabelTable( createStandardLabels( getMajorTickSpacing() ) ); } */ --- 791,801 ---- * Returns the dictionary of what labels to draw at which values. * * @return the <code>Dictionary</code> containing labels and * where to draw them */ ! public Dictionary<Integer, JComponent> getLabelTable() { /* if ( labelTable == null && getMajorTickSpacing() > 0 ) { setLabelTable( createStandardLabels( getMajorTickSpacing() ) ); } */
*** 824,835 **** * hidden: true * bound: true * attribute: visualUpdate true * description: Specifies what labels will be drawn for any given value. */ ! public void setLabelTable( Dictionary labels ) { ! Dictionary oldTable = labelTable; labelTable = labels; updateLabelUIs(); firePropertyChange("labelTable", oldTable, labelTable ); if (labels != oldTable) { revalidate(); --- 824,835 ---- * hidden: true * bound: true * attribute: visualUpdate true * description: Specifies what labels will be drawn for any given value. */ ! public void setLabelTable( Dictionary<Integer, JComponent> labels ) { ! Dictionary<Integer, JComponent> oldTable = labelTable; labelTable = labels; updateLabelUIs(); firePropertyChange("labelTable", oldTable, labelTable ); if (labels != oldTable) { revalidate();
*** 846,874 **** * * @see #setLabelTable * @see JComponent#updateUI */ protected void updateLabelUIs() { ! Dictionary labelTable = getLabelTable(); if (labelTable == null) { return; } ! Enumeration labels = labelTable.keys(); while ( labels.hasMoreElements() ) { ! JComponent component = (JComponent) labelTable.get(labels.nextElement()); component.updateUI(); component.setSize(component.getPreferredSize()); } } private void updateLabelSizes() { ! Dictionary labelTable = getLabelTable(); if (labelTable != null) { ! Enumeration labels = labelTable.elements(); while (labels.hasMoreElements()) { ! JComponent component = (JComponent) labels.nextElement(); component.setSize(component.getPreferredSize()); } } } --- 846,874 ---- * * @see #setLabelTable * @see JComponent#updateUI */ protected void updateLabelUIs() { ! Dictionary<Integer, JComponent> labelTable = getLabelTable(); if (labelTable == null) { return; } ! Enumeration<Integer> labels = labelTable.keys(); while ( labels.hasMoreElements() ) { ! JComponent component = labelTable.get(labels.nextElement()); component.updateUI(); component.setSize(component.getPreferredSize()); } } private void updateLabelSizes() { ! Dictionary<Integer, JComponent> labelTable = getLabelTable(); if (labelTable != null) { ! Enumeration<JComponent> labels = labelTable.elements(); while (labels.hasMoreElements()) { ! JComponent component = labels.nextElement(); component.setSize(component.getPreferredSize()); } } }
*** 892,902 **** * @see #setLabelTable * @see #setPaintLabels * @throws IllegalArgumentException if {@code increment} is less than or * equal to zero */ ! public Hashtable createStandardLabels( int increment ) { return createStandardLabels( increment, getMinimum() ); } /** --- 892,902 ---- * @see #setLabelTable * @see #setPaintLabels * @throws IllegalArgumentException if {@code increment} is less than or * equal to zero */ ! public Hashtable<Integer, JComponent> createStandardLabels( int increment ) { return createStandardLabels( increment, getMinimum() ); } /**
*** 920,939 **** * @see #setPaintLabels * @exception IllegalArgumentException if {@code start} is * out of range, or if {@code increment} is less than or equal * to zero */ ! public Hashtable createStandardLabels( int increment, int start ) { if ( start > getMaximum() || start < getMinimum() ) { throw new IllegalArgumentException( "Slider label start point out of range." ); } if ( increment <= 0 ) { throw new IllegalArgumentException( "Label incremement must be > 0" ); } ! class SmartHashtable extends Hashtable<Object, Object> implements PropertyChangeListener { int increment = 0; int start = 0; boolean startAtMin = false; class LabelUIResource extends JLabel implements UIResource { --- 920,939 ---- * @see #setPaintLabels * @exception IllegalArgumentException if {@code start} is * out of range, or if {@code increment} is less than or equal * to zero */ ! public Hashtable<Integer, JComponent> createStandardLabels( int increment, int start ) { if ( start > getMaximum() || start < getMinimum() ) { throw new IllegalArgumentException( "Slider label start point out of range." ); } if ( increment <= 0 ) { throw new IllegalArgumentException( "Label incremement must be > 0" ); } ! class SmartHashtable extends Hashtable<Integer, JComponent> implements PropertyChangeListener { int increment = 0; int start = 0; boolean startAtMin = false; class LabelUIResource extends JLabel implements UIResource {
*** 976,992 **** } if ( e.getPropertyName().equals( "minimum" ) || e.getPropertyName().equals( "maximum" ) ) { ! Enumeration keys = getLabelTable().keys(); ! Hashtable<Object, Object> hashtable = new Hashtable<Object, Object>(); // Save the labels that were added by the developer while ( keys.hasMoreElements() ) { ! Object key = keys.nextElement(); ! Object value = labelTable.get(key); if ( !(value instanceof LabelUIResource) ) { hashtable.put( key, value ); } } --- 976,992 ---- } if ( e.getPropertyName().equals( "minimum" ) || e.getPropertyName().equals( "maximum" ) ) { ! Enumeration<Integer> keys = getLabelTable().keys(); ! Hashtable<Integer, JComponent> hashtable = new Hashtable<>(); // Save the labels that were added by the developer while ( keys.hasMoreElements() ) { ! Integer key = keys.nextElement(); ! JComponent value = labelTable.get(key); if ( !(value instanceof LabelUIResource) ) { hashtable.put( key, value ); } }
*** 994,1004 **** createLabels(); // Add the saved labels keys = hashtable.keys(); while ( keys.hasMoreElements() ) { ! Object key = keys.nextElement(); put( key, hashtable.get( key ) ); } ((JSlider)e.getSource()).setLabelTable( this ); } --- 994,1004 ---- createLabels(); // Add the saved labels keys = hashtable.keys(); while ( keys.hasMoreElements() ) { ! Integer key = keys.nextElement(); put( key, hashtable.get( key ) ); } ((JSlider)e.getSource()).setLabelTable( this ); }
*** 1011,1021 **** } } SmartHashtable table = new SmartHashtable( increment, start ); ! Dictionary labelTable = getLabelTable(); if (labelTable != null && (labelTable instanceof PropertyChangeListener)) { removePropertyChangeListener((PropertyChangeListener) labelTable); } --- 1011,1021 ---- } } SmartHashtable table = new SmartHashtable( increment, start ); ! Dictionary<Integer, JComponent> labelTable = getLabelTable(); if (labelTable != null && (labelTable instanceof PropertyChangeListener)) { removePropertyChangeListener((PropertyChangeListener) labelTable); }