From 09e5c86488dc92c9f31ce20227323f984bd36492 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 15 May 2021 17:51:33 +0200 Subject: [PATCH] FlatLaf.getDisabledIcon() now returns a instanceof UIResource for disabled SVG icons to allow recreation of disabled icons when switching to another Laf --- .../src/main/java/com/formdev/flatlaf/FlatLaf.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java index 365fca90..f408aaa5 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java @@ -55,6 +55,7 @@ import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.FontUIResource; +import javax.swing.plaf.IconUIResource; import javax.swing.plaf.UIResource; import javax.swing.plaf.basic.BasicLookAndFeel; import javax.swing.text.StyleContext; @@ -190,8 +191,10 @@ public abstract class FlatLaf @Override public Icon getDisabledIcon( JComponent component, Icon icon ) { - if( icon instanceof DisabledIconProvider ) - return ((DisabledIconProvider)icon).getDisabledIcon(); + if( icon instanceof DisabledIconProvider ) { + Icon disabledIcon = ((DisabledIconProvider)icon).getDisabledIcon(); + return !(disabledIcon instanceof UIResource) ? new IconUIResource( disabledIcon ) : disabledIcon; + } if( icon instanceof ImageIcon ) { Object grayFilter = UIManager.get( "Component.grayFilter" );