home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / java / awt / Scrollbar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  5.4 KB  |  252 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.    public int getVisible() {
  114.       return this.visibleAmount;
  115.    }
  116.  
  117.    public synchronized void setVisibleAmount(int var1) {
  118.       this.setValues(this.value, var1, this.minimum, this.maximum);
  119.    }
  120.  
  121.    public synchronized void setUnitIncrement(int var1) {
  122.       this.setLineIncrement(var1);
  123.    }
  124.  
  125.    public void setLineIncrement(int var1) {
  126.       this.lineIncrement = var1;
  127.       ScrollbarPeer var2 = (ScrollbarPeer)super.peer;
  128.       if (var2 != null) {
  129.          var2.setLineIncrement(var1);
  130.       }
  131.  
  132.    }
  133.  
  134.    public int getUnitIncrement() {
  135.       return this.getLineIncrement();
  136.    }
  137.  
  138.    public int getLineIncrement() {
  139.       return this.lineIncrement;
  140.    }
  141.  
  142.    public synchronized void setBlockIncrement(int var1) {
  143.       this.setPageIncrement(var1);
  144.    }
  145.  
  146.    public void setPageIncrement(int var1) {
  147.       this.pageIncrement = var1;
  148.       ScrollbarPeer var2 = (ScrollbarPeer)super.peer;
  149.       if (var2 != null) {
  150.          var2.setPageIncrement(var1);
  151.       }
  152.  
  153.    }
  154.  
  155.    public int getBlockIncrement() {
  156.       return this.getPageIncrement();
  157.    }
  158.  
  159.    public int getPageIncrement() {
  160.       return this.pageIncrement;
  161.    }
  162.  
  163.    public synchronized void setValues(int var1, int var2, int var3, int var4) {
  164.       if (var4 <= var3) {
  165.          var4 = var3 + 1;
  166.       }
  167.  
  168.       if (var2 > var4 - var3) {
  169.          var2 = var4 - var3;
  170.       }
  171.  
  172.       if (var2 < 1) {
  173.          var2 = 1;
  174.       }
  175.  
  176.       if (var1 < var3) {
  177.          var1 = var3;
  178.       }
  179.  
  180.       if (var1 > var4 - var2) {
  181.          var1 = var4 - var2;
  182.       }
  183.  
  184.       this.value = var1;
  185.       this.visibleAmount = var2;
  186.       this.minimum = var3;
  187.       this.maximum = var4;
  188.       ScrollbarPeer var5 = (ScrollbarPeer)super.peer;
  189.       if (var5 != null) {
  190.          var5.setValues(var1, this.visibleAmount, var3, var4);
  191.       }
  192.  
  193.    }
  194.  
  195.    public synchronized void addAdjustmentListener(AdjustmentListener var1) {
  196.       this.adjustmentListener = AWTEventMulticaster.add(this.adjustmentListener, var1);
  197.       super.newEventsOnly = true;
  198.    }
  199.  
  200.    public synchronized void removeAdjustmentListener(AdjustmentListener var1) {
  201.       this.adjustmentListener = AWTEventMulticaster.remove(this.adjustmentListener, var1);
  202.    }
  203.  
  204.    boolean eventEnabled(AWTEvent var1) {
  205.       if (var1.id == 601) {
  206.          return (super.eventMask & 256L) != 0L || this.adjustmentListener != null;
  207.       } else {
  208.          return super.eventEnabled(var1);
  209.       }
  210.    }
  211.  
  212.    protected void processEvent(AWTEvent var1) {
  213.       if (var1 instanceof AdjustmentEvent) {
  214.          this.processAdjustmentEvent((AdjustmentEvent)var1);
  215.       } else {
  216.          super.processEvent(var1);
  217.       }
  218.    }
  219.  
  220.    protected void processAdjustmentEvent(AdjustmentEvent var1) {
  221.       if (this.adjustmentListener != null) {
  222.          this.adjustmentListener.adjustmentValueChanged(var1);
  223.       }
  224.  
  225.    }
  226.  
  227.    protected String paramString() {
  228.       return super.paramString() + ",val=" + this.value + ",vis=" + this.visibleAmount + ",min=" + this.minimum + ",max=" + this.maximum + (this.orientation == 1 ? ",vert" : ",horz");
  229.    }
  230.  
  231.    private void writeObject(ObjectOutputStream var1) throws IOException {
  232.       var1.defaultWriteObject();
  233.       AWTEventMulticaster.save(var1, "adjustmentL", this.adjustmentListener);
  234.       var1.writeObject((Object)null);
  235.    }
  236.  
  237.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  238.       var1.defaultReadObject();
  239.  
  240.       Object var2;
  241.       while((var2 = var1.readObject()) != null) {
  242.          String var3 = ((String)var2).intern();
  243.          if (var3 == "adjustmentL") {
  244.             this.addAdjustmentListener((AdjustmentListener)var1.readObject());
  245.          } else {
  246.             var1.readObject();
  247.          }
  248.       }
  249.  
  250.    }
  251. }
  252.