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.