0

我正在使用 JavaApplicationBundle 为我的 jar 文件设置图标,现在我正试图从 Dock 中删除我的程序。

我已设置LSUIElement为 1,但直到我StartOnMainThread在 Info.plist 的 Java 部分添加指令后才起作用。

但是 - 然后问题出现了 - GUI被锁定了 - 就像程序正在执行无限循环或其他东西一样。我变成main()了这样:

public static void main(String[] args) {

        Thread queryThread = new Thread() {
              public void run() {
                new MainWindow();
              }
            };
            queryThread.start();
        }

但我看不到 JDialog - 即使 JavaApplicationBundle 进程正在运行,它也不会出现(因为这是后台应用程序 - 是否有一些我缺少的步骤来调出对话框?)

什么会导致这个问题?有没有人有简单的应用程序包,其中没有坐在 Dock 中运行 java 程序 - 我已经搜索过互联网,但我的搜索结果中没有出现任何内容?

谢谢

编辑

阅读评论后,我尝试了我已经尝试过的,但我忘记了:

public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable(){
      public void run() {
                new MainWindow();
      }
    });
}

在这种情况下,应用程序正在运行 - 但没有显示 GUI。当我检查控制台消息时,我看到的很少:

*** -[NSConditionLock unlock]: lock (<NSCOnditionLock: 0x1347a0> '(null)') unlocked when not locked
*** Break on _NSLockError() to debug.
4

0 回答 0