// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.gui.widgets; import java.awt.Dimension; import java.awt.LayoutManager; import java.awt.Rectangle; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.Scrollable; public class VerticallyScrollablePanel extends JPanel implements Scrollable { static public JScrollPane embed(VerticallyScrollablePanel panel) { JScrollPane sp = new JScrollPane(panel); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); return sp; } public VerticallyScrollablePanel() { super(); } public VerticallyScrollablePanel(boolean isDoubleBuffered) { super(isDoubleBuffered); } public VerticallyScrollablePanel(LayoutManager layout, boolean isDoubleBuffered) { super(layout, isDoubleBuffered); } public VerticallyScrollablePanel(LayoutManager layout) { super(layout); } public Dimension getPreferredScrollableViewportSize() { return getPreferredSize(); } public int getScrollableBlockIncrement(Rectangle arg0, int arg1, int arg2) { return 20; } public boolean getScrollableTracksViewportHeight() { return false; } public boolean getScrollableTracksViewportWidth() { return true; } public int getScrollableUnitIncrement(Rectangle arg0, int arg1, int arg2) { return 10; } }