0

JavaApplicationBundle を使用して jar ファイルのアイコンを設定していますが、Dock からプログラムを削除しようとしています。

1 に設定しましたが、Info.plist の Java セクションにディレクティブLSUIElementを追加するまで機能しませんでした。StartOnMainThread

しかし、その後、問題が発生しました-プログラムが無限ループなどを実行しているように、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