import java.awt.*;

// This appears in Core Web Programming from
// Prentice Hall Publishers, and may be freely used
// or adapted. 1997 Marty Hall, hall@apl.jhu.edu.

public class ScrollbarValues extends QuittableFrame {
  public static void main(String[] args) {
    new ScrollbarValues(0, 80, 40);
  }

  private Font headingFont =
    new Font("Helvetica", Font.BOLD, 16);
  private Font bodyFont =
    new Font("Courier", Font.BOLD, 14);
  
  public ScrollbarValues(int min, int max, int bubble) {
    super("Scrollbar Values in Java " +
          System.getProperty("java.version"));
    setLayout(new GridLayout(4, 2, 5, 0));
    add(makeHeadingLabel("Scrollbar"));
    add(makeHeadingLabel("Values"));
    Scrollbar bar;
    for(int i=0; i<3; i++) {
      bar = new Scrollbar(Scrollbar.HORIZONTAL,
                          bubble*i, bubble, min, max);
      add(bar);
      add(makeScrollbarLabel(bar, bubble*i));
    }
    pack();
    show();
  }

  private Label makeHeadingLabel(String heading) {
    Label headingLabel =
      new Label(heading, Label.CENTER);
    headingLabel.setFont(headingFont);
    return(headingLabel);
  }

  private Label makeScrollbarLabel(Scrollbar bar,
                                   int valueSet) {
    Label scrollbarLabel =
      new Label("Min=" + bar.getMinimum() +
                ", Max=" + bar.getMaximum() +
                ", Value Set=" + valueSet +
                ", Actual Value=" + bar.getValue() +
                " ");
    scrollbarLabel.setFont(bodyFont);
    return(scrollbarLabel);
  }
}

