Re-apply FlatLaf defaults after JIDE install + strengthen FX borders

Symptom: With dark mode enabled, the Swing main window's spectrum chrome and
menu bar were dark (FlatLaf) but tables, tabbed panes and the inner content
area were light/Metal coloured.

Root cause: LookAndFeelFactory.installJideExtension installs JIDE's
Metal-flavored UI defaults (VsnetMetalUtils etc.) into the live UIDefaults
table, overwriting FlatLaf's standard component colors and fonts for keys
like Table.background, TabbedPane.foreground, Panel.background.

Fix: After the JIDE install, walk a fresh FlatLaf UIDefaults table and put
every key back into the active defaults, skipping anything Jide-prefixed.
JIDE's UI delegate registrations live under Jide* keys that FlatLaf does
not define, so they survive untouched while the standard Swing color and
font keys are restored to their dark equivalents.

Also strengthen the JavaFX dark stylesheet: explicit borders on text fields,
tables, titled panes, split-pane dividers and separators so components have
more defining outlines in dark mode.
This commit is contained in:
Akumas_Coffin_
2026-05-14 20:34:37 +10:00
parent 8871adc4a0
commit f4dbe4593c
2 changed files with 63 additions and 16 deletions

View File

@@ -73,6 +73,8 @@
-fx-prompt-text-fill: #888888;
-fx-highlight-fill: #214283;
-fx-highlight-text-fill: #ffffff;
-fx-border-color: #4f5356;
-fx-border-width: 1;
}
.text-area .content
@@ -177,7 +179,9 @@
-fx-background-color: #2b2b2b;
-fx-control-inner-background: #313335;
-fx-control-inner-background-alt: #353739;
-fx-table-cell-border-color: #3c3f41;
-fx-table-cell-border-color: #4f5356;
-fx-border-color: #4f5356;
-fx-border-width: 1;
}
.table-view .column-header, .table-view .filler, .table-view .column-header-background,
@@ -226,12 +230,25 @@
.titled-pane > .content
{
-fx-background-color: #2b2b2b;
-fx-border-color: #3c3f41;
-fx-border-color: #4f5356;
-fx-border-width: 1;
}
.separator .line
{
-fx-border-color: #444444;
-fx-border-color: #4f5356;
-fx-border-width: 1 0 0 0;
}
.split-pane
{
-fx-background-color: #2b2b2b;
}
.split-pane > .split-pane-divider
{
-fx-background-color: #4f5356;
-fx-padding: 0 1 0 1;
}
.tooltip