home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / rt.jar / java / awt / Scrollbar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-20  |  5.5 KB  |  257 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.AdjustmentEvent;
  4. import java.awt.event.AdjustmentListener;
  5. import java.awt.peer.ScrollbarPeer;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9.  
  10. public class Scrollbar extends Component implements Adjustable {
  11.    public static final int HORIZONTAL = 0;
  12.    public static final int VERTICAL = 1;
  13.    int value;
  14.    int maximum;
  15.    int minimum;
  16.    int visibleAmount;
  17.    int orientation;
  18.    int lineIncrement;
  19.    int pageIncrement;
  20.    transient AdjustmentListener adjustmentListener;
  21.    private static final String base = "scrollbar";
  22.    private static int nameCounter;
  23.    private static final long serialVersionUID = 8451667562882310543L;
  24.    private int scrollbarSerializedDataVersion;
  25.  
  26.    public Scrollbar() {
  27.       this(1, 0, 10, 0, 100);
  28.    }
  29.  
  30.    public Scrollbar(int var1) {
  31.       this(var1, 0, 10, 0, 100);
  32.    }
  33.  
  34.    public Scrollbar(int var1, int var2, int var3, int var4, int var5) {
  35.       this.lineIncrement = 1;
  36.       this.pageIncrement = 10;
  37.       this.scrollbarSerializedDataVersion = 1;
  38.       super.name = "scrollbar" + nameCounter++;
  39.       switch (var1) {
  40.          case 0:
  41.          case 1:
  42.             this.orientation = var1;
  43.             this.setValues(var2, var3, var4, var5);
  44.             return;
  45.          default:
  46.             throw new IllegalArgumentException("illegal scrollbar orientation");
  47.       }
  48.    }
  49.  
  50.    public void addNotify() {
  51.       super.peer = ((Component)this).getToolkit().createScrollbar(this);
  52.       super.addNotify();
  53.    }
  54.  
  55.    public int getOrientation() {
  56.       return this.orientation;
  57.    }
  58.  
  59.    public synchronized void setOrientation(int var1) {
  60.       if (var1 != this.orientation) {
  61.          switch (var1) {
  62.             case 0:
  63.             case 1:
  64.                this.orientation = var1;
  65.                Object var2 = Component.LOCK;
  66.                synchronized(var2){}
  67.  
  68.                try {
  69.                   if (super.peer != null) {
  70.                      ((Component)this).removeNotify();
  71.                      this.addNotify();
  72.                      ((Component)this).invalidate();
  73.                   }
  74.                } catch (Throwable var4) {
  75.                   throw var4;
  76.                }
  77.  
  78.                return;
  79.             default:
  80.                throw new IllegalArgumentException("illegal scrollbar orientation");
  81.          }
  82.       }
  83.    }
  84.  
  85.    public int getValue() {
  86.       return this.value;
  87.    }
  88.  
  89.    public synchronized void setValue(int var1) {
  90.       this.setValues(var1, this.visibleAmount, this.minimum, this.maximum);
  91.    }
  92.  
  93.    public int getMinimum() {
  94.       return this.minimum;
  95.    }
  96.  
  97.    public synchronized void setMinimum(int var1) {
  98.       this.setValues(this.value, this.visibleAmount, var1, this.maximum);
  99.    }
  100.  
  101.    public int getMaximum() {
  102.       return this.maximum;
  103.    }
  104.  
  105.    public synchronized void setMaximum(int var1) {
  106.       this.setValues(this.value, this.visibleAmount, this.minimum, var1);
  107.    }
  108.  
  109.    public int getVisibleAmount() {
  110.       return this.getVisible();
  111.    }
  112.  
  113.    /** @deprecated */
  114.    public int getVisible() {
  115.       return this.visibleAmount;
  116.    }
  117.  
  118.    public synchronized void setVisibleAmount(int var1) {
  119.       this.setValues(this.value, var1, this.minimum, this.maximum);
  120.    }
  121.  
  122.    public synchronized void setUnitIncrement(int var1) {
  123.       this.setLineIncrement(var1);
  124.    }
  125.  
  126.    /** @deprecated */
  127.    public void setLineIncrement(int var1) {
  128.       this.lineIncrement = var1;
  129.       ScrollbarPeer var2 = (ScrollbarPeer)super.peer;
  130.       if (var2 != null) {
  131.          var2.setLineIncrement(var1);
  132.       }
  133.  
  134.    }
  135.  
  136.    public int getUnitIncrement() {
  137.       return this.getLineIncrement();
  138.    }
  139.  
  140.    /** @deprecated */
  141.    public int getLineIncrement() {
  142.       return this.lineIncrement;
  143.    }
  144.  
  145.    public synchronized void setBlockIncrement(int var1) {
  146.       this.setPageIncrement(var1);
  147.    }
  148.  
  149.    /** @deprecated */
  150.    public void setPageIncrement(int var1) {
  151.       this.pageIncrement = var1;
  152.       ScrollbarPeer var2 = (ScrollbarPeer)super.peer;
  153.       if (var2 != null) {
  154.          var2.setPageIncrement(var1);
  155.       }
  156.  
  157.    }
  158.  
  159.    public int getBlockIncrement() {
  160.       return this.getPageIncrement();
  161.    }
  162.  
  163.    /** @deprecated */
  164.    public int getPageIncrement() {
  165.       return this.pageIncrement;
  166.    }
  167.  
  168.    public synchronized void setValues(int var1, int var2, int var3, int var4) {
  169.       if (var4 <= var3) {
  170.          var4 = var3 + 1;
  171.       }
  172.  
  173.       if (var2 > var4 - var3) {
  174.          var2 = var4 - var3;
  175.       }
  176.  
  177.       if (var2 < 1) {
  178.          var2 = 1;
  179.       }
  180.  
  181.       if (var1 < var3) {
  182.          var1 = var3;
  183.       }
  184.  
  185.       if (var1 > var4 - var2) {
  186.          var1 = var4 - var2;
  187.       }
  188.  
  189.       this.value = var1;
  190.       this.visibleAmount = var2;
  191.       this.minimum = var3;
  192.       this.maximum = var4;
  193.       ScrollbarPeer var5 = (ScrollbarPeer)super.peer;
  194.       if (var5 != null) {
  195.          var5.setValues(var1, this.visibleAmount, var3, var4);
  196.       }
  197.  
  198.    }
  199.  
  200.    public synchronized void addAdjustmentListener(AdjustmentListener var1) {
  201.       this.adjustmentListener = AWTEventMulticaster.add(this.adjustmentListener, var1);
  202.       super.newEventsOnly = true;
  203.    }
  204.  
  205.    public synchronized void removeAdjustmentListener(AdjustmentListener var1) {
  206.       this.adjustmentListener = AWTEventMulticaster.remove(this.adjustmentListener, var1);
  207.    }
  208.  
  209.    boolean eventEnabled(AWTEvent var1) {
  210.       if (var1.id == 601) {
  211.          return (super.eventMask & 256L) != 0L || this.adjustmentListener != null;
  212.       } else {
  213.          return super.eventEnabled(var1);
  214.       }
  215.    }
  216.  
  217.    protected void processEvent(AWTEvent var1) {
  218.       if (var1 instanceof AdjustmentEvent) {
  219.          this.processAdjustmentEvent((AdjustmentEvent)var1);
  220.       } else {
  221.          super.processEvent(var1);
  222.       }
  223.    }
  224.  
  225.    protected void processAdjustmentEvent(AdjustmentEvent var1) {
  226.       if (this.adjustmentListener != null) {
  227.          this.adjustmentListener.adjustmentValueChanged(var1);
  228.       }
  229.  
  230.    }
  231.  
  232.    protected String paramString() {
  233.       return super.paramString() + ",val=" + this.value + ",vis=" + this.visibleAmount + ",min=" + this.minimum + ",max=" + this.maximum + (this.orientation == 1 ? ",vert" : ",horz");
  234.    }
  235.  
  236.    private void writeObject(ObjectOutputStream var1) throws IOException {
  237.       var1.defaultWriteObject();
  238.       AWTEventMulticaster.save(var1, "adjustmentL", this.adjustmentListener);
  239.       var1.writeObject((Object)null);
  240.    }
  241.  
  242.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  243.       var1.defaultReadObject();
  244.  
  245.       Object var2;
  246.       while((var2 = var1.readObject()) != null) {
  247.          String var3 = ((String)var2).intern();
  248.          if (var3 == "adjustmentL") {
  249.             this.addAdjustmentListener((AdjustmentListener)var1.readObject());
  250.          } else {
  251.             var1.readObject();
  252.          }
  253.       }
  254.  
  255.    }
  256. }
  257.