UIUtils.scroll: allow horizontal only
authorNiki Roo <niki@nikiroo.be>
Tue, 28 Apr 2020 14:51:50 +0000 (16:51 +0200)
committerNiki Roo <niki@nikiroo.be>
Tue, 28 Apr 2020 14:51:50 +0000 (16:51 +0200)
ui/UIUtils.java

index 9f16aabe79c3ba8dc80e8221bace21b2ec5f0d4a..5861d00fc3a6e3a254230c8bd5d43a17d26299db 100644 (file)
@@ -178,12 +178,39 @@ public class UIUtils {
         * @return the {@link JScrollPane}
         */
        static public JScrollPane scroll(JComponent pane, boolean allowHorizontal) {
+               return scroll(pane, allowHorizontal, true);
+       }
+
+       /**
+        * Add a {@link JScrollPane} around the given panel and use a sensible (for
+        * me) increment for the mouse wheel.
+        * 
+        * @param pane
+        *            the panel to wrap in a {@link JScrollPane}
+        * @param allowHorizontal
+        *            allow horizontal scrolling (not always desired)
+        * @param allowVertical
+        *            allow vertical scrolling (usually yes, but sometimes you only
+        *            want horizontal)
+        * 
+        * @return the {@link JScrollPane}
+        */
+       static public JScrollPane scroll(JComponent pane, boolean allowHorizontal,
+                       boolean allowVertical) {
                JScrollPane scroll = new JScrollPane(pane);
+
                scroll.getVerticalScrollBar().setUnitIncrement(16);
+               scroll.getHorizontalScrollBar().setUnitIncrement(16);
+
                if (!allowHorizontal) {
                        scroll.setHorizontalScrollBarPolicy(
                                        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
                }
+               if (!allowVertical) {
+                       scroll.setVerticalScrollBarPolicy(
+                                       JScrollPane.VERTICAL_SCROLLBAR_NEVER);
+               }
+
                return scroll;
        }
 }