OSXAdapter を使用する JAR バンドラーによりアプリケーションが遅延または終了する
この質問は、JAR ファイルを特定のファイル タイプに関連付ける必要があることから生じます。 (.jarbundlerproblem) OS X 用 Apple の Jar Bundler を使用します。さらに、アプリケーションには、
これを実現するために、開発者は OSXAdapter ライブラリを利用してファイル関連のイベントを処理しました。ただし、この変更により、アプリケーションで一貫性のない動作が発生しました。場合によっては、長時間開かない、または空白のウィンドウが表示されることがあります。
分析と解決策:
この問題は、アプリケーションがイベントをブロックする可能性があることに起因しています。 「doWork()」メソッドで「Thread.sleep()」を使用したため、ディスパッチスレッド(EDT)が発生しました。これにより、GUI が完全に応答しなくなったり、アプリケーションの遅延や終了が発生したりする可能性があります。
推奨されるアプローチ:
この問題を解決するには、次のことをお勧めします。 SwingWorker を使用するか、「Runnable」インターフェイスを実装して、時間のかかるタスクを別のスレッドで実行します。これにより EDT が解放され、GUI の応答性が維持できるようになります。
自動スクロール JTable の代替アプローチ:
追加メモ:
以上がOSXAdapter を使用すると、JAR Bundler アプリケーションが遅れたり、終了したりするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。