< prev index next >

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

Print this page
rev 1527 : 6727662: Code improvement and warnings removing from swing packages
Summary: Removed unnecessary castings and other warnings
Reviewed-by: malenkov


 896      * the {@code setLabelTable} documentation.
 897      *
 898      * @param  increment  distance between labels in the generated hashtable
 899      * @param  start      value at which the labels will begin
 900      * @return a new {@code Hashtable} of labels
 901      * @see #setLabelTable
 902      * @see #setPaintLabels
 903      * @exception IllegalArgumentException if {@code start} is
 904      *          out of range, or if {@code increment} is less than or equal
 905      *          to zero
 906      */
 907     public Hashtable createStandardLabels( int increment, int start ) {
 908         if ( start > getMaximum() || start < getMinimum() ) {
 909             throw new IllegalArgumentException( "Slider label start point out of range." );
 910         }
 911 
 912         if ( increment <= 0 ) {
 913             throw new IllegalArgumentException( "Label incremement must be > 0" );
 914         }
 915 
 916         class SmartHashtable extends Hashtable implements PropertyChangeListener {
 917             int increment = 0;
 918             int start = 0;
 919             boolean startAtMin = false;
 920 
 921             class LabelUIResource extends JLabel implements UIResource {
 922                 public LabelUIResource( String text, int alignment ) {
 923                     super( text, alignment );
 924                     setName("Slider.label");
 925                 }
 926 
 927                 public Font getFont() {
 928                     Font font = super.getFont();
 929                     if (font != null && !(font instanceof UIResource)) {
 930                         return font;
 931                     }
 932                     return JSlider.this.getFont();
 933                 }
 934 
 935                 public Color getForeground() {
 936                     Color fg = super.getForeground();


 945             }
 946 
 947             public SmartHashtable( int increment, int start ) {
 948                 super();
 949                 this.increment = increment;
 950                 this.start = start;
 951                 startAtMin = start == getMinimum();
 952                 createLabels();
 953             }
 954 
 955             public void propertyChange( PropertyChangeEvent e ) {
 956                 if ( e.getPropertyName().equals( "minimum" ) && startAtMin ) {
 957                     start = getMinimum();
 958                 }
 959 
 960                 if ( e.getPropertyName().equals( "minimum" ) ||
 961                      e.getPropertyName().equals( "maximum" ) ) {
 962 
 963                     Enumeration keys = getLabelTable().keys();
 964                     Object key = null;
 965                     Hashtable hashtable = new Hashtable();
 966 
 967                     // Save the labels that were added by the developer
 968                     while ( keys.hasMoreElements() ) {
 969                         key = keys.nextElement();
 970                         Object value = getLabelTable().get( key );
 971                         if ( !(value instanceof LabelUIResource) ) {
 972                             hashtable.put( key, value );
 973                         }
 974                     }
 975 
 976                     clear();
 977                     createLabels();
 978 
 979                     // Add the saved labels
 980                     keys = hashtable.keys();
 981                     while ( keys.hasMoreElements() ) {
 982                         key = keys.nextElement();
 983                         put( key, hashtable.get( key ) );
 984                     }
 985 




 896      * the {@code setLabelTable} documentation.
 897      *
 898      * @param  increment  distance between labels in the generated hashtable
 899      * @param  start      value at which the labels will begin
 900      * @return a new {@code Hashtable} of labels
 901      * @see #setLabelTable
 902      * @see #setPaintLabels
 903      * @exception IllegalArgumentException if {@code start} is
 904      *          out of range, or if {@code increment} is less than or equal
 905      *          to zero
 906      */
 907     public Hashtable createStandardLabels( int increment, int start ) {
 908         if ( start > getMaximum() || start < getMinimum() ) {
 909             throw new IllegalArgumentException( "Slider label start point out of range." );
 910         }
 911 
 912         if ( increment <= 0 ) {
 913             throw new IllegalArgumentException( "Label incremement must be > 0" );
 914         }
 915 
 916         class SmartHashtable extends Hashtable<Object, Object> implements PropertyChangeListener {
 917             int increment = 0;
 918             int start = 0;
 919             boolean startAtMin = false;
 920 
 921             class LabelUIResource extends JLabel implements UIResource {
 922                 public LabelUIResource( String text, int alignment ) {
 923                     super( text, alignment );
 924                     setName("Slider.label");
 925                 }
 926 
 927                 public Font getFont() {
 928                     Font font = super.getFont();
 929                     if (font != null && !(font instanceof UIResource)) {
 930                         return font;
 931                     }
 932                     return JSlider.this.getFont();
 933                 }
 934 
 935                 public Color getForeground() {
 936                     Color fg = super.getForeground();


 945             }
 946 
 947             public SmartHashtable( int increment, int start ) {
 948                 super();
 949                 this.increment = increment;
 950                 this.start = start;
 951                 startAtMin = start == getMinimum();
 952                 createLabels();
 953             }
 954 
 955             public void propertyChange( PropertyChangeEvent e ) {
 956                 if ( e.getPropertyName().equals( "minimum" ) && startAtMin ) {
 957                     start = getMinimum();
 958                 }
 959 
 960                 if ( e.getPropertyName().equals( "minimum" ) ||
 961                      e.getPropertyName().equals( "maximum" ) ) {
 962 
 963                     Enumeration keys = getLabelTable().keys();
 964                     Object key = null;
 965                     Hashtable<Object, Object> hashtable = new Hashtable<Object, Object>();
 966 
 967                     // Save the labels that were added by the developer
 968                     while ( keys.hasMoreElements() ) {
 969                         key = keys.nextElement();
 970                         Object value = getLabelTable().get( key );
 971                         if ( !(value instanceof LabelUIResource) ) {
 972                             hashtable.put( key, value );
 973                         }
 974                     }
 975 
 976                     clear();
 977                     createLabels();
 978 
 979                     // Add the saved labels
 980                     keys = hashtable.keys();
 981                     while ( keys.hasMoreElements() ) {
 982                         key = keys.nextElement();
 983                         put( key, hashtable.get( key ) );
 984                     }
 985 


< prev index next >