home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / DefaultBoundedRangeModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  4.0 KB  |  159 lines

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.swing.event.ChangeEvent;
  4. import com.sun.java.swing.event.ChangeListener;
  5. import com.sun.java.swing.event.EventListenerList;
  6. import java.io.Serializable;
  7.  
  8. public class DefaultBoundedRangeModel implements BoundedRangeModel, Serializable {
  9.    protected transient ChangeEvent changeEvent;
  10.    protected EventListenerList listenerList = new EventListenerList();
  11.    private int value;
  12.    private int extent;
  13.    private int min;
  14.    private int max = 100;
  15.    private boolean isAdjusting = false;
  16.    // $FF: synthetic field
  17.    static Class class$com$sun$java$swing$event$ChangeListener;
  18.  
  19.    public DefaultBoundedRangeModel() {
  20.    }
  21.  
  22.    public DefaultBoundedRangeModel(int var1, int var2, int var3, int var4) {
  23.       if (var4 >= var3 && var1 >= var3 && var1 + var2 <= var4) {
  24.          this.value = var1;
  25.          this.extent = var2;
  26.          this.min = var3;
  27.          this.max = var4;
  28.       } else {
  29.          throw new IllegalArgumentException("invalid range properties");
  30.       }
  31.    }
  32.  
  33.    public int getValue() {
  34.       return this.value;
  35.    }
  36.  
  37.    public int getExtent() {
  38.       return this.extent;
  39.    }
  40.  
  41.    public int getMinimum() {
  42.       return this.min;
  43.    }
  44.  
  45.    public int getMaximum() {
  46.       return this.max;
  47.    }
  48.  
  49.    public void setValue(int var1) {
  50.       int var2 = Math.max(var1, this.min);
  51.       if (var2 + this.extent > this.max) {
  52.          var2 = this.max - this.extent;
  53.       }
  54.  
  55.       this.setRangeProperties(var2, this.extent, this.min, this.max, this.isAdjusting);
  56.    }
  57.  
  58.    public void setExtent(int var1) {
  59.       int var2 = Math.max(0, var1);
  60.       if (this.value + var2 > this.max) {
  61.          var2 = this.max - this.value;
  62.       }
  63.  
  64.       this.setRangeProperties(this.value, var2, this.min, this.max, this.isAdjusting);
  65.    }
  66.  
  67.    public void setMinimum(int var1) {
  68.       int var2 = Math.max(var1, this.max);
  69.       int var3 = Math.max(var1, this.value);
  70.       int var4 = Math.min(var2 - var3, this.extent);
  71.       this.setRangeProperties(var3, var4, var1, var2, this.isAdjusting);
  72.    }
  73.  
  74.    public void setMaximum(int var1) {
  75.       int var2 = Math.min(var1, this.min);
  76.       int var3 = Math.min(var1, this.value);
  77.       int var4 = Math.min(var1 - var3, this.extent);
  78.       this.setRangeProperties(var3, var4, var2, var1, this.isAdjusting);
  79.    }
  80.  
  81.    public void setValueIsAdjusting(boolean var1) {
  82.       this.setRangeProperties(this.value, this.extent, this.min, this.max, var1);
  83.    }
  84.  
  85.    public boolean getValueIsAdjusting() {
  86.       return this.isAdjusting;
  87.    }
  88.  
  89.    public void setRangeProperties(int var1, int var2, int var3, int var4, boolean var5) {
  90.       if (var3 > var4) {
  91.          var3 = var4;
  92.       }
  93.  
  94.       if (var1 > var4) {
  95.          var4 = var1;
  96.       }
  97.  
  98.       if (var1 < var3) {
  99.          var3 = var1;
  100.       }
  101.  
  102.       if (var2 + var1 > var4) {
  103.          var2 = var4 - var1;
  104.       }
  105.  
  106.       if (var2 < 0) {
  107.          var2 = 0;
  108.       }
  109.  
  110.       boolean var6 = var1 != this.value || var2 != this.extent || var3 != this.min || var4 != this.max || var5 != this.isAdjusting;
  111.       if (var6) {
  112.          this.value = var1;
  113.          this.extent = var2;
  114.          this.min = var3;
  115.          this.max = var4;
  116.          this.isAdjusting = var5;
  117.          this.fireStateChanged();
  118.       }
  119.  
  120.    }
  121.  
  122.    public void addChangeListener(ChangeListener var1) {
  123.       this.listenerList.add(class$com$sun$java$swing$event$ChangeListener != null ? class$com$sun$java$swing$event$ChangeListener : (class$com$sun$java$swing$event$ChangeListener = class$("com.sun.java.swing.event.ChangeListener")), var1);
  124.    }
  125.  
  126.    public void removeChangeListener(ChangeListener var1) {
  127.       this.listenerList.remove(class$com$sun$java$swing$event$ChangeListener != null ? class$com$sun$java$swing$event$ChangeListener : (class$com$sun$java$swing$event$ChangeListener = class$("com.sun.java.swing.event.ChangeListener")), var1);
  128.    }
  129.  
  130.    protected void fireStateChanged() {
  131.       Object[] var1 = this.listenerList.getListenerList();
  132.  
  133.       for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
  134.          if (var1[var2] == (class$com$sun$java$swing$event$ChangeListener != null ? class$com$sun$java$swing$event$ChangeListener : (class$com$sun$java$swing$event$ChangeListener = class$("com.sun.java.swing.event.ChangeListener")))) {
  135.             if (this.changeEvent == null) {
  136.                this.changeEvent = new ChangeEvent(this);
  137.             }
  138.  
  139.             ((ChangeListener)var1[var2 + 1]).stateChanged(this.changeEvent);
  140.          }
  141.       }
  142.  
  143.    }
  144.  
  145.    public String toString() {
  146.       String var1 = "value=" + this.getValue() + ", " + "extent=" + this.getExtent() + ", " + "min=" + this.getMinimum() + ", " + "max=" + this.getMaximum() + ", " + "adj=" + this.getValueIsAdjusting();
  147.       return this.getClass().getName() + "[" + var1 + "]";
  148.    }
  149.  
  150.    // $FF: synthetic method
  151.    static Class class$(String var0) {
  152.       try {
  153.          return Class.forName(var0);
  154.       } catch (ClassNotFoundException var2) {
  155.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  156.       }
  157.    }
  158. }
  159.