diff --git a/src/main/java/forge/gui/toolbox/FPanel.java b/src/main/java/forge/gui/toolbox/FPanel.java index b7f61608e2f..c5cd84b03b7 100644 --- a/src/main/java/forge/gui/toolbox/FPanel.java +++ b/src/main/java/forge/gui/toolbox/FPanel.java @@ -147,6 +147,8 @@ public class FPanel extends JPanel implements ILocalRepaint { /** @param img0   {@link java.awt.Image} */ public void setForegroundImage(final Image img0) { + skin.resetForegroundImage(); //must reset if non-skin image set + if (img0 == null) { this.foregroundImage = null; return; @@ -193,6 +195,8 @@ public class FPanel extends JPanel implements ILocalRepaint { /** @param img0   {@link java.awt.Image} */ public void setBackgroundTexture(final Image img0) { + skin.resetBackgroundTexture(); //must reset if non-skin image set + if (img0 == null) { return; } this.backgroundTexture = img0; diff --git a/src/main/java/forge/gui/toolbox/FSkin.java b/src/main/java/forge/gui/toolbox/FSkin.java index 3e6dee5bb9e..9d20a8832d3 100644 --- a/src/main/java/forge/gui/toolbox/FSkin.java +++ b/src/main/java/forge/gui/toolbox/FSkin.java @@ -423,24 +423,32 @@ public enum FSkin { } public void setForegroundImage(SkinImage skinIcon) { + this.comp.setForegroundImage(skinIcon.image); //must call this first since it will call resetForegroundImage this.foregroundImage = skinIcon; - this.comp.setForegroundImage(skinIcon.image); this.needRepaintOnReapply = true; //foreground image draw during paint } + public void resetForegroundImage() { + this.foregroundImage = null; + } + public void setBackgroundTexture(SkinImage skinIcon) { + this.comp.setBackgroundTexture(skinIcon.image); //must call this first since it will call resetBackgroundTexture this.backgroundTexture = skinIcon; - this.comp.setBackgroundTexture(skinIcon.image); this.needRepaintOnReapply = true; //background texture drawn during paint } + public void resetBackgroundTexture() { + this.backgroundTexture = null; + } + @Override protected void reapply() { if (this.foregroundImage != null) { - this.comp.setForegroundImage(this.foregroundImage.image); + this.setForegroundImage(this.foregroundImage); //use skin function so foregroundImage field retained } if (this.backgroundTexture != null) { - this.comp.setBackgroundTexture(this.backgroundTexture.image); + this.setBackgroundTexture(this.backgroundTexture); //use skin function so backgroundTexture field retained } super.reapply(); }