From 46852c0780b64909710bd0e2c322678e2f3c39fe Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 16 Mar 2021 13:26:36 +0100 Subject: [PATCH] JIDE: invoke `LookAndFeelFactory.installJideExtension()` early in FlatJidePopupMenuUI to be sure that Jide extensions are installed --- .../com/formdev/flatlaf/jideoss/ui/FlatJidePopupMenuUI.java | 5 +++++ .../com/formdev/flatlaf/jideoss/ui/FlatJideTabbedPaneUI.java | 3 +++ .../com/formdev/flatlaf/jideoss/ui/FlatRangeSliderUI.java | 3 +++ 3 files changed, 11 insertions(+) diff --git a/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatJidePopupMenuUI.java b/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatJidePopupMenuUI.java index d5ebd203..989e0e8f 100644 --- a/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatJidePopupMenuUI.java +++ b/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatJidePopupMenuUI.java @@ -19,6 +19,7 @@ package com.formdev.flatlaf.jideoss.ui; import javax.swing.*; import javax.swing.plaf.ComponentUI; import com.formdev.flatlaf.ui.FlatPopupMenuUI; +import com.jidesoft.plaf.LookAndFeelFactory; import com.jidesoft.plaf.basic.BasicJidePopupMenuUI; /** @@ -28,6 +29,10 @@ public class FlatJidePopupMenuUI extends FlatPopupMenuUI { public static ComponentUI createUI( JComponent c ) { + // usually JIDE would invoke this in JidePopupMenu.updateUI(), + // but it does not because FlatLaf already has added the UI class to the UI defaults + LookAndFeelFactory.installJideExtension(); + return new FlatJidePopupMenuUI(); } diff --git a/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatJideTabbedPaneUI.java b/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatJideTabbedPaneUI.java index 8ae713eb..3918dd84 100644 --- a/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatJideTabbedPaneUI.java +++ b/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatJideTabbedPaneUI.java @@ -67,7 +67,10 @@ public class FlatJideTabbedPaneUI private Object[] oldRenderingHints; public static ComponentUI createUI( JComponent c ) { + // usually JIDE would invoke this in JideTabbedPane.updateUI(), + // but it does not because FlatLaf already has added the UI class to the UI defaults LookAndFeelFactory.installJideExtension(); + return new FlatJideTabbedPaneUI(); } diff --git a/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatRangeSliderUI.java b/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatRangeSliderUI.java index fbd9f482..a9ea6bf0 100644 --- a/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatRangeSliderUI.java +++ b/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/ui/FlatRangeSliderUI.java @@ -70,7 +70,10 @@ public class FlatRangeSliderUI private Object[] oldRenderingHints; public static ComponentUI createUI( JComponent c ) { + // usually JIDE would invoke this in RangeSlider.updateUI(), + // but it does not because FlatLaf already has added the UI class to the UI defaults LookAndFeelFactory.installJideExtension(); + return new FlatRangeSliderUI(); }