From 075a01e3ae3b5c281dfe652c2f07d19974e1df9b Mon Sep 17 00:00:00 2001 From: drdev Date: Tue, 4 Feb 2014 02:14:55 +0000 Subject: [PATCH] Fix display glitch --- .../gui/toolbox/itemmanager/views/ImageView.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java index fb6f44ee73b..662af08ed27 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java @@ -24,6 +24,7 @@ import javax.swing.ScrollPaneConstants; import forge.ImageCache; import forge.gui.deckeditor.DeckProxy; +import forge.gui.framework.ILocalRepaint; import forge.gui.match.controllers.CDetail; import forge.gui.match.controllers.CPicture; import forge.gui.toolbox.FMouseAdapter; @@ -120,7 +121,7 @@ public class ImageView extends ItemView { @Override public void onMouseExit(MouseEvent e) { if (updateHoveredItem(null, null)) { - display.repaint(); + display.repaintSelf(); } } }); @@ -130,7 +131,7 @@ public class ImageView extends ItemView { FScrollPane scroller = getScroller(); Point hoverScrollPos = new Point(scroller.getHorizontalScrollBar().getValue(), scroller.getVerticalScrollBar().getValue()); if (updateHoveredItem(e.getPoint(), hoverScrollPos)) { - display.repaint(); + display.repaintSelf(); } } }); @@ -271,7 +272,7 @@ public class ImageView extends ItemView { display.setPreferredSize(new Dimension(itemAreaWidth, y)); display.revalidate(); - display.repaint(); + display.repaintSelf(); } private ItemInfo getItemAtPoint(Point p) { @@ -447,7 +448,7 @@ public class ImageView extends ItemView { @Override protected void onSelectionChange() { super.onSelectionChange(); - display.repaint(); + display.repaintSelf(); } @Override @@ -528,12 +529,17 @@ public class ImageView extends ItemView { } @SuppressWarnings("serial") - private class CardViewDisplay extends JPanel { + private class CardViewDisplay extends JPanel implements ILocalRepaint { private CardViewDisplay() { setOpaque(false); setFocusable(true); } + @Override + public void repaintSelf() { + repaint(getVisibleRect()); + } + @Override public final void paintComponent(final Graphics g) { updateHoveredItem(hoverPoint, hoverScrollPos); //ensure hovered item up to date