This commit is contained in:
UnlegitDqrk
2026-02-08 22:36:42 +01:00
parent 82e2938294
commit ede26281a2
9 changed files with 821 additions and 3 deletions

View File

@@ -0,0 +1,34 @@
package org.openautonomousconnection.webclient.recode;
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import java.util.concurrent.atomic.AtomicBoolean;
/**
* Initializes the JavaFX Toolkit exactly once for Swing embedding.
*/
public final class FxBootstrap {
private static final AtomicBoolean INITIALIZED = new AtomicBoolean(false);
private FxBootstrap() {
// Utility class
}
/**
* Ensures JavaFX Toolkit is initialized.
* Must be called before any Platform.runLater() usage.
*/
public static void ensureInitialized() {
if (!INITIALIZED.compareAndSet(false, true)) {
return;
}
// Creating a JFXPanel initializes the JavaFX toolkit in Swing apps.
new JFXPanel();
// Optional: keep JavaFX runtime alive even if last window closes.
Platform.setImplicitExit(false);
}
}