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