/* * JScrollBar.java * * Created on October 20, 2001, 10:18 PM */ package com.shadowcraft.util; import java.awt.*; import java.awt.event.*; /** * JScrollBar which auto-scrolls only if it's already positioned at its maximum * position. * @author Gili Tzabari */ public class JAutoScrollBar extends javax.swing.JScrollBar { /** * Maximum value of JScrollBar during last call to adjustmentValueChanged(). */ protected int oldMax=0; public JAutoScrollBar() { super(); init(); } public JAutoScrollBar(int orientation) { super(orientation); init(); } public JAutoScrollBar(int orientation, int value, int extent, int min, int max) { super(orientation, value, extent, min, max); init(); } public void init() { addAdjustmentListener(new AdjustmentListener() { public void adjustmentValueChanged(AdjustmentEvent e) { Adjustable source = (Adjustable) e.getSource(); if (source.getValue()+source.getVisibleAmount() == oldMax && source.getMaximum() > oldMax) source.setValue(source.getMaximum()); oldMax = source.getMaximum(); } }); } }