home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD 31 / SUPERCDa.iso / Inet / HotJava / hjava.exe / Windows / resource / jre / lib / rt.jar / java / awt / Scrollbar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-11  |  5.6 KB  |  272 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.       switch (var1) {
  39.          case 0:
  40.          case 1:
  41.             this.orientation = var1;
  42.             this.setValues(var2, var3, var4, var5);
  43.             return;
  44.          default:
  45.             throw new IllegalArgumentException("illegal scrollbar orientation");
  46.       }
  47.    }
  48.  
  49.    String constructComponentName() {
  50.       return "scrollbar" + nameCounter++;
  51.    }
  52.  
  53.    public void addNotify() {
  54.       Object var1 = ((Component)this).getTreeLock();
  55.       synchronized(var1){}
  56.  
  57.       try {
  58.          if (super.peer == null) {
  59.             super.peer = ((Component)this).getToolkit().createScrollbar(this);
  60.          }
  61.  
  62.          super.addNotify();
  63.       } catch (Throwable var3) {
  64.          throw var3;
  65.       }
  66.  
  67.    }
  68.  
  69.    public int getOrientation() {
  70.       return this.orientation;
  71.    }
  72.  
  73.    public void setOrientation(int var1) {
  74.       Object var2 = ((Component)this).getTreeLock();
  75.       synchronized(var2){}
  76.  
  77.       try {
  78.          if (var1 != this.orientation) {
  79.             switch (var1) {
  80.                case 0:
  81.                case 1:
  82.                   this.orientation = var1;
  83.                   if (super.peer != null) {
  84.                      ((Component)this).removeNotify();
  85.                      this.addNotify();
  86.                      ((Component)this).invalidate();
  87.                   }
  88.  
  89.                   return;
  90.                default:
  91.                   throw new IllegalArgumentException("illegal scrollbar orientation");
  92.             }
  93.          }
  94.       } catch (Throwable var5) {
  95.          throw var5;
  96.       }
  97.  
  98.    }
  99.  
  100.    public int getValue() {
  101.       return this.value;
  102.    }
  103.  
  104.    public void setValue(int var1) {
  105.       this.setValues(var1, this.visibleAmount, this.minimum, this.maximum);
  106.    }
  107.  
  108.    public int getMinimum() {
  109.       return this.minimum;
  110.    }
  111.  
  112.    public void setMinimum(int var1) {
  113.       this.setValues(this.value, this.visibleAmount, var1, this.maximum);
  114.    }
  115.  
  116.    public int getMaximum() {
  117.       return this.maximum;
  118.    }
  119.  
  120.    public void setMaximum(int var1) {
  121.       this.setValues(this.value, this.visibleAmount, this.minimum, var1);
  122.    }
  123.  
  124.    public int getVisibleAmount() {
  125.       return this.getVisible();
  126.    }
  127.  
  128.    /** @deprecated */
  129.    public int getVisible() {
  130.       return this.visibleAmount;
  131.    }
  132.  
  133.    public void setVisibleAmount(int var1) {
  134.       this.setValues(this.value, var1, this.minimum, this.maximum);
  135.    }
  136.  
  137.    public void setUnitIncrement(int var1) {
  138.       this.setLineIncrement(var1);
  139.    }
  140.  
  141.    /** @deprecated */
  142.    public synchronized void setLineIncrement(int var1) {
  143.       this.lineIncrement = var1;
  144.       ScrollbarPeer var2 = (ScrollbarPeer)super.peer;
  145.       if (var2 != null) {
  146.          var2.setLineIncrement(var1);
  147.       }
  148.  
  149.    }
  150.  
  151.    public int getUnitIncrement() {
  152.       return this.getLineIncrement();
  153.    }
  154.  
  155.    /** @deprecated */
  156.    public int getLineIncrement() {
  157.       return this.lineIncrement;
  158.    }
  159.  
  160.    public void setBlockIncrement(int var1) {
  161.       this.setPageIncrement(var1);
  162.    }
  163.  
  164.    /** @deprecated */
  165.    public synchronized void setPageIncrement(int var1) {
  166.       this.pageIncrement = var1;
  167.       ScrollbarPeer var2 = (ScrollbarPeer)super.peer;
  168.       if (var2 != null) {
  169.          var2.setPageIncrement(var1);
  170.       }
  171.  
  172.    }
  173.  
  174.    public int getBlockIncrement() {
  175.       return this.getPageIncrement();
  176.    }
  177.  
  178.    /** @deprecated */
  179.    public int getPageIncrement() {
  180.       return this.pageIncrement;
  181.    }
  182.  
  183.    public synchronized void setValues(int var1, int var2, int var3, int var4) {
  184.       if (var4 <= var3) {
  185.          var4 = var3 + 1;
  186.       }
  187.  
  188.       if (var2 > var4 - var3) {
  189.          var2 = var4 - var3;
  190.       }
  191.  
  192.       if (var2 < 1) {
  193.          var2 = 1;
  194.       }
  195.  
  196.       if (var1 < var3) {
  197.          var1 = var3;
  198.       }
  199.  
  200.       if (var1 > var4 - var2) {
  201.          var1 = var4 - var2;
  202.       }
  203.  
  204.       this.value = var1;
  205.       this.visibleAmount = var2;
  206.       this.minimum = var3;
  207.       this.maximum = var4;
  208.       ScrollbarPeer var5 = (ScrollbarPeer)super.peer;
  209.       if (var5 != null) {
  210.          var5.setValues(var1, this.visibleAmount, var3, var4);
  211.       }
  212.  
  213.    }
  214.  
  215.    public synchronized void addAdjustmentListener(AdjustmentListener var1) {
  216.       this.adjustmentListener = AWTEventMulticaster.add(this.adjustmentListener, var1);
  217.       super.newEventsOnly = true;
  218.    }
  219.  
  220.    public synchronized void removeAdjustmentListener(AdjustmentListener var1) {
  221.       this.adjustmentListener = AWTEventMulticaster.remove(this.adjustmentListener, var1);
  222.    }
  223.  
  224.    boolean eventEnabled(AWTEvent var1) {
  225.       if (var1.id == 601) {
  226.          return (super.eventMask & 256L) != 0L || this.adjustmentListener != null;
  227.       } else {
  228.          return super.eventEnabled(var1);
  229.       }
  230.    }
  231.  
  232.    protected void processEvent(AWTEvent var1) {
  233.       if (var1 instanceof AdjustmentEvent) {
  234.          this.processAdjustmentEvent((AdjustmentEvent)var1);
  235.       } else {
  236.          super.processEvent(var1);
  237.       }
  238.    }
  239.  
  240.    protected void processAdjustmentEvent(AdjustmentEvent var1) {
  241.       if (this.adjustmentListener != null) {
  242.          this.adjustmentListener.adjustmentValueChanged(var1);
  243.       }
  244.  
  245.    }
  246.  
  247.    protected String paramString() {
  248.       return super.paramString() + ",val=" + this.value + ",vis=" + this.visibleAmount + ",min=" + this.minimum + ",max=" + this.maximum + (this.orientation == 1 ? ",vert" : ",horz");
  249.    }
  250.  
  251.    private void writeObject(ObjectOutputStream var1) throws IOException {
  252.       var1.defaultWriteObject();
  253.       AWTEventMulticaster.save(var1, "adjustmentL", this.adjustmentListener);
  254.       var1.writeObject((Object)null);
  255.    }
  256.  
  257.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  258.       var1.defaultReadObject();
  259.  
  260.       Object var2;
  261.       while((var2 = var1.readObject()) != null) {
  262.          String var3 = ((String)var2).intern();
  263.          if (var3 == "adjustmentL") {
  264.             this.addAdjustmentListener((AdjustmentListener)var1.readObject());
  265.          } else {
  266.             var1.readObject();
  267.          }
  268.       }
  269.  
  270.    }
  271. }
  272.