diff --git a/designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java b/designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java index 463cf39b7d..b2a0673ed6 100644 --- a/designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java +++ b/designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java @@ -23,6 +23,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.SwingUtilities; import java.awt.BorderLayout; +import java.awt.Desktop; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -68,12 +69,22 @@ public class JxUIPane extends ModernUIPane { if (browser != null) { return; } + hackInITInnovationLinuxDesktop(); initDebugIfNeeded(); // 使用公共引擎创建浏览器 browser = JxEngine.getPublicEngineInstance().newBrowser(); add(BrowserView.newInstance(browser), BorderLayout.CENTER); } + /** + * hack:部分 Linux 信创桌面打开需要先初始化 Desktop + */ + private static void hackInITInnovationLinuxDesktop() { + if (OperatingSystem.isLinux()) { + Desktop.getDesktop(); + } + } + /** * 按需初始化debug界面UI */