From e5e510c8250c64df6cdc5677a270426969301ffa Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 2 Aug 2021 19:16:38 +0200 Subject: [PATCH] Demo: fixed inconsistent behavior when first changing font size and then font family, which did loose user scale factor on Windows in Java 9+ (issue #352) --- .../src/main/java/com/formdev/flatlaf/demo/DemoFrame.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java index 6ab88a5e..a416053d 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java @@ -34,6 +34,7 @@ import com.formdev.flatlaf.extras.FlatUIDefaultsInspector; import com.formdev.flatlaf.extras.components.FlatButton; import com.formdev.flatlaf.extras.components.FlatButton.ButtonType; import com.formdev.flatlaf.extras.FlatSVGUtils; +import com.formdev.flatlaf.ui.FlatUIUtils; import com.formdev.flatlaf.ui.JBRCustomDecorations; import com.formdev.flatlaf.util.SystemInfo; import net.miginfocom.layout.ConstraintParser; @@ -185,6 +186,8 @@ class DemoFrame Font font = UIManager.getFont( "defaultFont" ); Font newFont = StyleContext.getDefaultStyleContext().getFont( fontFamily, font.getStyle(), font.getSize() ); + // StyleContext.getFont() may return a UIResource, which would cause loosing user scale factor on Windows + newFont = FlatUIUtils.nonUIResource( newFont ); UIManager.put( "defaultFont", newFont ); FlatLaf.updateUI();