有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java GUI使用StartOnMainThread锁定自身

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

我已经将LSUIElement设置为1,但直到我在Info的Java部分中添加了StartOnMainThread指令之后,这才起作用。普利斯特

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

public static void main(String[] args) {

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

但是我看不到JDialog——即使JavaApplicationBundle进程正在运行,它也不会出现(因为这是现在的后台应用程序——是否有我在打开对话框时遗漏的步骤?)

什么会导致这个问题?有没有人有一个简单的应用程序包,java程序运行时不用坐在Dock上——我搜索过互联网,但搜索结果中什么都没有出现

谢谢

编辑

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

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.

共 (0) 个答案