home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / awt / scrollbar.java < prev    next >
Text File  |  1995-08-11  |  4KB  |  136 lines

  1. /*
  2.  * @(#)Scrollbar.java    1.18 95/02/03 Sami Shaio
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19. package awt;
  20.  
  21. /**
  22.  * A Class that represents a native scrollbar object.
  23.  *
  24.  * @version 1.18 03 Feb 1995
  25.  * @author Sami Shaio
  26.  */
  27. public class Scrollbar extends Component {
  28.     private Scrollbarable    scrollTarget;
  29.     private WServer        wServer;
  30.     public static final int    HORIZONTAL = 0;
  31.     public static final int    VERTICAL = 1;
  32.  
  33.     /**
  34.      * Constructs a scrollbar.
  35.      * @param parent the parent window which will contain this scrollbar.
  36.      * @param name the name of the scrollbar. May be significant
  37.      * according to the layout method in parent.
  38.      * @param orientation either Scrollbar.HORIZONTAL or Scrollbar.VERTICAL
  39.      * @param manageScrollbar if true then parent will automatically
  40.      * layout this scrollbar according to the platform's toolkit conventions.
  41.      */
  42.     public Scrollbar(Window parent,
  43.              String name,
  44.              int orientation,
  45.              boolean manageScrollbar) {
  46.     super(parent, name, false);
  47.     scrollTarget = parent;
  48.     wServer = parent.wServer;
  49.     wServer.scrollbarCreate(this, parent, orientation, manageScrollbar);
  50.     if (manageScrollbar) {
  51.         parent.managed[orientation] = this;
  52.     } else {
  53.         parent.addChild(this, name);
  54.     }
  55.     }
  56.  
  57.     /**
  58.      * Sets the object which will handle callbacks for this scrollbar.
  59.      * @see awt.Scrollbarable
  60.      */
  61.     public void setScrollTarget(Scrollbarable target) {
  62.     scrollTarget = target;
  63.     }
  64.  
  65.     /**
  66.      * Sets the values for this scrollbar.
  67.      * @param newValue is the position in the current window.
  68.      * @param visible is the amount visible per page
  69.      * @param minimum is the minimum value of the scrollbar
  70.      * @param maximum is the maximum value of the scrollbar
  71.      */
  72.     public void setValues(int newValue, int visible, int minimum, int maximum) {
  73.     wServer.scrollbarSetValues(this, newValue, visible, minimum, maximum);
  74.     }
  75.  
  76.     /**
  77.      * Shows this scrollbar.
  78.      */
  79.     public void map() {
  80.     wServer.scrollbarShow(this);
  81.     }
  82.  
  83.     /**
  84.      * Hides this scrollbar.
  85.      */
  86.     public void unMap() {
  87.     wServer.scrollbarHide(this);
  88.     }
  89.  
  90.     /**
  91.      * Returns the minimum value of this scrollbar.
  92.      */
  93.     public int minimum() {
  94.     return wServer.scrollbarMinimum(this);
  95.     }
  96.  
  97.     /**
  98.      * Returns the maximum value of this scrollbar.
  99.      */
  100.     public int maximum() {
  101.     return wServer.scrollbarMaximum(this);
  102.     }
  103.  
  104.     /**
  105.      * Returns the current value of this scrollbar.
  106.      */
  107.     public int value() {
  108.     return wServer.scrollbarValue(this);
  109.     }
  110.  
  111.     /**
  112.      * Reshapes this scrollbar. This will not work if the scrollbar is
  113.      * being managed by the window.
  114.      * @see Scrollbar#Scrollbar
  115.      */
  116.     public void reshape(int x, int y, int w, int h) {
  117.     super.reshape(x, y, w, h);
  118.     wServer.scrollbarReshape(this, x, y, w, h);
  119.     }
  120.  
  121.     /**
  122.      * Moves this scrollbar. This will not work if the scrollbar is
  123.      * being managed by the window.
  124.      */
  125.     public void move(int x, int y) {
  126.     wServer.scrollbarMoveTo(this, x, y);
  127.     }
  128.  
  129.     /**
  130.      * Disposes of this scrollbar. It should not be used afterwards.
  131.      */
  132.     public void dispose() {
  133.     wServer.scrollbarDispose(this);
  134.     }
  135. }
  136.