我正在使用 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.