home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / 1&1 / java.z / java_301 / java / awt / Scrollbar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-10-20  |  3.1 KB  |  134 lines

  1. package java.awt;
  2.  
  3. import java.awt.peer.ScrollbarPeer;
  4.  
  5. public class Scrollbar extends Component {
  6.    public static final int HORIZONTAL = 0;
  7.    public static final int VERTICAL = 1;
  8.    int value;
  9.    int maximum;
  10.    int minimum;
  11.    int sVisible;
  12.    int orientation;
  13.    int lineIncrement;
  14.    int pageIncrement;
  15.  
  16.    public Scrollbar() {
  17.       this(1);
  18.    }
  19.  
  20.    public Scrollbar(int orientation) {
  21.       this.lineIncrement = 1;
  22.       this.pageIncrement = 10;
  23.       switch (orientation) {
  24.          case 0:
  25.          case 1:
  26.             this.orientation = orientation;
  27.             return;
  28.          default:
  29.             throw new IllegalArgumentException("illegal scrollbar orientation");
  30.       }
  31.    }
  32.  
  33.    public Scrollbar(int orientation, int value, int visible, int minimum, int maximum) {
  34.       this(orientation);
  35.       this.setValues(value, visible, minimum, maximum);
  36.    }
  37.  
  38.    public synchronized void addNotify() {
  39.       super.peer = ((Component)this).getToolkit().createScrollbar(this);
  40.       super.addNotify();
  41.    }
  42.  
  43.    public int getOrientation() {
  44.       return this.orientation;
  45.    }
  46.  
  47.    public int getValue() {
  48.       return this.value;
  49.    }
  50.  
  51.    public void setValue(int value) {
  52.       if (value < this.minimum) {
  53.          value = this.minimum;
  54.       }
  55.  
  56.       if (value > this.maximum) {
  57.          value = this.maximum;
  58.       }
  59.  
  60.       if (value != this.value) {
  61.          this.value = value;
  62.          ScrollbarPeer peer = (ScrollbarPeer)super.peer;
  63.          if (peer != null) {
  64.             peer.setValue(value);
  65.          }
  66.       }
  67.  
  68.    }
  69.  
  70.    public int getMinimum() {
  71.       return this.minimum;
  72.    }
  73.  
  74.    public int getMaximum() {
  75.       return this.maximum;
  76.    }
  77.  
  78.    public int getVisible() {
  79.       return this.sVisible;
  80.    }
  81.  
  82.    public void setLineIncrement(int l) {
  83.       this.lineIncrement = l;
  84.       if (super.peer != null) {
  85.          ((ScrollbarPeer)super.peer).setLineIncrement(l);
  86.       }
  87.  
  88.    }
  89.  
  90.    public int getLineIncrement() {
  91.       return this.lineIncrement;
  92.    }
  93.  
  94.    public void setPageIncrement(int l) {
  95.       this.pageIncrement = l;
  96.       if (super.peer != null) {
  97.          ((ScrollbarPeer)super.peer).setPageIncrement(l);
  98.       }
  99.  
  100.    }
  101.  
  102.    public int getPageIncrement() {
  103.       return this.pageIncrement;
  104.    }
  105.  
  106.    public void setValues(int value, int visible, int minimum, int maximum) {
  107.       if (maximum < minimum) {
  108.          maximum = minimum;
  109.       }
  110.  
  111.       if (value < minimum) {
  112.          value = minimum;
  113.       }
  114.  
  115.       if (value > maximum) {
  116.          value = maximum;
  117.       }
  118.  
  119.       this.value = value;
  120.       this.sVisible = visible;
  121.       this.minimum = minimum;
  122.       this.maximum = maximum;
  123.       ScrollbarPeer peer = (ScrollbarPeer)super.peer;
  124.       if (peer != null) {
  125.          peer.setValues(value, this.sVisible, minimum, maximum);
  126.       }
  127.  
  128.    }
  129.  
  130.    protected String paramString() {
  131.       return super.paramString() + ",val=" + this.value + ",vis=" + super.visible + ",min=" + this.minimum + ",max=" + this.maximum + (this.orientation == 1 ? ",vert" : ",horz");
  132.    }
  133. }
  134.