home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / DefaultBoundedRangeModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.4 KB  |  164 lines

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