From 1b059de3f03bc4a9f4a8025fe2300cd7ed2892ea Mon Sep 17 00:00:00 2001 From: Akumas_Coffin_ <68540569+AkumasCoffin@users.noreply.github.com> Date: Thu, 14 May 2026 21:41:08 +1000 Subject: [PATCH] Register Channel tab's JFXPanel scenes with the ThemeManager The Channel tab embeds two JavaFX scenes inside Swing via JFXPanel: the noise squelch chart (NoiseSquelchView) and the symbol view. Neither was registered with the ThemeManager, so the dark stylesheet was never applied to them. In dark mode the chart legend, axis area and surrounding panel rendered with JavaFX's default light Modena styling against the otherwise dark UI. JFXPanel-hosted scenes are invisible to javafx.stage.Window.getWindows(), so the theme manager cannot find them automatically on toggle - they have to be explicitly registered at creation time, the same as the JavaFX Stages JavaFxWindowManager already registers. --- .../io/github/dsheirer/gui/channel/ChannelSpectrumPanel.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/io/github/dsheirer/gui/channel/ChannelSpectrumPanel.java b/src/main/java/io/github/dsheirer/gui/channel/ChannelSpectrumPanel.java index 0e8d1e4a..1c3c7d0d 100644 --- a/src/main/java/io/github/dsheirer/gui/channel/ChannelSpectrumPanel.java +++ b/src/main/java/io/github/dsheirer/gui/channel/ChannelSpectrumPanel.java @@ -24,6 +24,7 @@ import io.github.dsheirer.dsp.filter.channelizer.PolyphaseChannelSource; import io.github.dsheirer.gui.power.SignalPowerView; import io.github.dsheirer.gui.squelch.NoiseSquelchView; import io.github.dsheirer.gui.symbol.SymbolView; +import io.github.dsheirer.gui.theme.ThemeManager; import io.github.dsheirer.module.ProcessingChain; import io.github.dsheirer.module.decode.FeedbackDecoder; import io.github.dsheirer.module.decode.PrimaryDecoder; @@ -200,6 +201,7 @@ public class ChannelSpectrumPanel extends JPanel implements Listener { Scene scene = new Scene(mNoiseSquelchView); + ThemeManager.getInstance().register(scene); mNoiseSquelchPanel.setScene(scene); Scene scene2 = new Scene(mSymbolView); URL resource = getClass().getResource("/sdrtrunk_style.css"); @@ -213,6 +215,7 @@ public class ChannelSpectrumPanel extends JPanel implements Listener