From aa52af4c8f3c3f9bc076c6e5724b98f4ee66aa73 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 29 Oct 2019 11:01:48 +0100 Subject: [PATCH] added FlatLaf.isDark() --- .../src/main/java/com/formdev/flatlaf/FlatDarculaLaf.java | 2 ++ .../src/main/java/com/formdev/flatlaf/FlatDarkLaf.java | 7 +++++++ .../src/main/java/com/formdev/flatlaf/FlatIntelliJLaf.java | 2 ++ .../src/main/java/com/formdev/flatlaf/FlatLaf.java | 2 ++ .../src/main/java/com/formdev/flatlaf/FlatLightLaf.java | 7 +++++++ .../main/java/com/formdev/flatlaf/demo/ScaledSVGIcon.java | 6 ++++-- .../main/java/com/formdev/flatlaf/testing/FlatTestLaf.java | 7 +++++++ 7 files changed, 31 insertions(+), 2 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatDarculaLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatDarculaLaf.java index 15808312..8e3927ec 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatDarculaLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatDarculaLaf.java @@ -19,6 +19,8 @@ package com.formdev.flatlaf; /** * A Flat LaF that has a dark color scheme and looks like Darcula LaF. * + * The UI defaults are loaded from FlatDarculaLaf.properties, FlatDarkLaf.properties and FlatLaf.properties + * * @author Karl Tauber */ public class FlatDarculaLaf diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatDarkLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatDarkLaf.java index 9ac19520..57b421c1 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatDarkLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatDarkLaf.java @@ -19,6 +19,8 @@ package com.formdev.flatlaf; /** * A Flat LaF that has a dark color scheme. * + * The UI defaults are loaded from FlatDarkLaf.properties and FlatLaf.properties + * * @author Karl Tauber */ public class FlatDarkLaf @@ -37,4 +39,9 @@ public class FlatDarkLaf public String getDescription() { return "Flat Dark Look and Feel"; } + + @Override + public boolean isDark() { + return true; + } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatIntelliJLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatIntelliJLaf.java index 2133fda4..b5836570 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatIntelliJLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatIntelliJLaf.java @@ -19,6 +19,8 @@ package com.formdev.flatlaf; /** * A Flat LaF that has a light color scheme and looks like IntelliJ LaF. * + * The UI defaults are loaded from FlatIntelliJLaf.properties, FlatLightLaf.properties and FlatLaf.properties + * * @author Karl Tauber */ public class FlatIntelliJLaf 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 211fd49a..3924cb17 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java @@ -74,6 +74,8 @@ public abstract class FlatLaf return getName(); } + public abstract boolean isDark(); + @Override public boolean isNativeLookAndFeel() { return true; diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLightLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLightLaf.java index bc9af1ac..a02d6edc 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLightLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLightLaf.java @@ -19,6 +19,8 @@ package com.formdev.flatlaf; /** * A Flat LaF that has a light color scheme. * + * The UI defaults are loaded from FlatLightLaf.properties and FlatLaf.properties + * * @author Karl Tauber */ public class FlatLightLaf @@ -37,4 +39,9 @@ public class FlatLightLaf public String getDescription() { return "Flat Light Look and Feel"; } + + @Override + public boolean isDark() { + return false; + } } diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/ScaledSVGIcon.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/ScaledSVGIcon.java index dd397503..c05c502e 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/ScaledSVGIcon.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/ScaledSVGIcon.java @@ -24,8 +24,9 @@ import java.awt.image.BufferedImage; import java.net.URISyntaxException; import java.net.URL; import javax.swing.ImageIcon; +import javax.swing.LookAndFeel; import javax.swing.UIManager; -import com.formdev.flatlaf.FlatDarkLaf; +import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.ui.FlatUIUtils; import com.formdev.flatlaf.util.UIScale; import com.kitfox.svg.app.beans.SVGIcon; @@ -129,6 +130,7 @@ public class ScaledSVGIcon } private static void lafChanged() { - darkLaf = (UIManager.getLookAndFeel() instanceof FlatDarkLaf); + LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); + darkLaf = (lookAndFeel instanceof FlatLaf && ((FlatLaf)lookAndFeel).isDark()); } } diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestLaf.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestLaf.java index 9af28ba2..d35d51e0 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestLaf.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestLaf.java @@ -21,6 +21,8 @@ import com.formdev.flatlaf.FlatLaf; /** * A Flat LaF that has a test color scheme. * + * The UI defaults are loaded from FlatTestLaf.properties and FlatLaf.properties + * * Used to develop Flat LaF. * * @author Karl Tauber @@ -37,4 +39,9 @@ public class FlatTestLaf public String getDescription() { return "Flat Test Look and Feel"; } + + @Override + public boolean isDark() { + return false; + } }