This Java Swing tip illustrates a method of implementing a scrollbar in both vertical and horizontal direction. Developer may implement this in their applications to provide easy browsing functionality to their users for navigating long documents. Developer may supply the orientation (via JSlider.HORIZONTAL or JSlider.VERTICAL) and the range and initial value to the constructor.

 import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ScrollBarExample extends JPanel {
    
    JLabel label;
    
    public ScrollBarExample() {
        super(true);
        label=new JLabel();
        setLayout(new BorderLayout());
        
        JScrollBar hbar = new JScrollBar(
                JScrollBar.HORIZONTAL, 30, 20, 0, 300);
        JScrollBar vbar = new JScrollBar(
                JScrollBar.VERTICAL, 30, 40, 0, 300);
        
        hbar.setUnitIncrement(2);
        hbar.setBlockIncrement(1);
        
        hbar.addAdjustmentListener(new MyAdjustmentListener());
        vbar.addAdjustmentListener(new MyAdjustmentListener());
        
        add(hbar, BorderLayout.SOUTH);
        add(vbar, BorderLayout.EAST);
        add(label, BorderLayout.CENTER);
    }
    
    class MyAdjustmentListener implements AdjustmentListener {
        public void adjustmentValueChanged(AdjustmentEvent e) {
            label.setText("    New Value is " + e.getValue() + "      ");
            repaint();
        }
    }
    
    public static void main(String s[]) {
        JFrame frame = new JFrame("Scroll Bar Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setContentPane(new ScrollBarExample());
        frame.setSize(200,200);
        frame.setVisible(true);
    }
}