// 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;
}
}