diff --git a/forge-gui-desktop/src/main/java/forge/gui/MenuScroller.java b/forge-gui-desktop/src/main/java/forge/gui/MenuScroller.java index 8a9da774b35..76eeaac0d50 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/MenuScroller.java +++ b/forge-gui-desktop/src/main/java/forge/gui/MenuScroller.java @@ -10,6 +10,9 @@ import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseWheelEvent; +import java.awt.event.MouseWheelListener; + import javax.swing.Icon; import javax.swing.JComponent; import javax.swing.JMenu; @@ -295,6 +298,7 @@ public class MenuScroller { this.menu = menu; menu.addPopupMenuListener(menuListener); + menu.addMouseWheelListener(new MouseScrollListener()); } /** @@ -586,4 +590,12 @@ public class MenuScroller { return 10; } } + + private class MouseScrollListener implements MouseWheelListener { + public void mouseWheelMoved(MouseWheelEvent mwe){ + firstIndex += mwe.getWheelRotation(); + refreshMenu(); + mwe.consume(); + } + } } diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java index a6998bec1ac..6af24207671 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java @@ -908,6 +908,7 @@ public final class CMatchUI //show menu if mouse was trigger for ability final JPopupMenu menu = new JPopupMenu(Localizer.getInstance().getMessage("lblAbilities")); //add scroll area when too big + // TODO: do we need a user setting for the scrollCount? MenuScroller.setScrollerFor(menu, 8, 125, 3, 1); boolean enabled;