/* * $Id: ScrollablePanel.java,v 1.1 2010-11-23 15:33:34 illetsch Exp $ * © 3kraft GmbH & Co KG 2009 */ package com.dreikraft.swing; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.JPanel; import javax.swing.JViewport; import javax.swing.Scrollable; /** * * @author jan_solo * @author $Author * @version $Revision: 1.1 $ */ public class ScrollablePanel extends JPanel implements Scrollable { @Override public Dimension getPreferredScrollableViewportSize() { return getPreferredSize(); } @Override public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) { return 1; } @Override public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) { return 10; } @Override public boolean getScrollableTracksViewportWidth() { if (getParent() instanceof JViewport) { return (((JViewport)getParent()).getWidth() > getMinimumSize().width); } return false; } @Override public boolean getScrollableTracksViewportHeight() { if (getParent() instanceof JViewport) { return (((JViewport)getParent()).getHeight() > getPreferredSize().height); } return false; } }