1  /*
  2   *  File:  ScrollbarTest.java
  3   *
  4   *  Create a scrollbar (i.e., a slide control), with scrollbox, unit
  5   *    and block increment, and direction.  Shows Adjustment event and
  6   *    getting the new value to display in a label.
  7   *
  8   *  Copyright:  Northeast Parallel Architectures Center
  9   *  
 10   */
 11  
 12  import java.awt.Label;
 13  import java.awt.Scrollbar;
 14  import java.awt.Color;
 15  import java.awt.BorderLayout;
 16  import java.awt.Font;
 17  import java.awt.event.AdjustmentListener;
 18  import java.awt.event.AdjustmentEvent;
 19  
 20  public class ScrollbarTest extends java.applet.Applet 
 21                             implements AdjustmentListener {
 22    
 23    private Label labelLeft, labelCenter, labelRight;
 24    private Scrollbar scrollbar;
 25  
 26    public void init() {
 27      setBackground( Color.white );
 28      Color lightBlue = new Color( 0xB0, 0xE0, 0xE6 );
 29      
 30      int min = 0;    // minimum value of scrollbar
 31      labelLeft = new Label( String.valueOf( min ) );
 32      labelLeft.setAlignment( Label.LEFT );
 33      labelLeft.setFont( new Font( "Serif", Font.PLAIN, 18 ) );
 34      labelLeft.setForeground (Color.green);
 35      
 36      int max = 100;  // maximum value of scrollbar
 37      labelRight = new Label( String.valueOf( max ) );
 38      labelRight.setAlignment( Label.RIGHT );
 39      labelRight.setFont( new Font( "Serif", Font.PLAIN, 18 ) );
 40      labelRight.setForeground (Color.green);
 41      
 42      int pos = 50;   // initial position of scrollbox
 43      labelCenter = new Label( String.valueOf( pos ) );
 44      labelCenter.setAlignment( Label.CENTER );
 45      labelCenter.setFont( new Font( "Serif", Font.BOLD, 30 ) );
 46      
 47      int orientation = Scrollbar.HORIZONTAL;
 48      int size = 5;   // relative size of the scrollbox
 49      scrollbar = new Scrollbar( orientation, pos, size, min, max );
 50      scrollbar.setBlockIncrement(10);
 51      scrollbar.setBackground( lightBlue );
 52      
 53      // Add components to the applet:
 54      setLayout( new BorderLayout() );
 55      add( labelLeft, BorderLayout.WEST ); 
 56      add( labelRight, BorderLayout.EAST ); 
 57      add( labelCenter, BorderLayout.CENTER ); 
 58      add( scrollbar, BorderLayout.SOUTH );
 59      
 60      // Listen for AdjustmentEvents:
 61      scrollbar.addAdjustmentListener( this );
 62    }
 63  
 64    public void adjustmentValueChanged( AdjustmentEvent event ) {
 65      int v = event.getValue();
 66      labelCenter.setText( String.valueOf(v) );
 67    }
 68  
 69  }