Browse Subversion Repository
Contents of /jpki-pdf-signer/trunk/src/main/java/net/osdn/jpki/pdf_signer/Main.java
Parent Directory
| Revision Log
Revision 68 -
( show annotations)
( download)
( as text)
Mon Jan 9 00:38:35 2023 UTC
(14 months, 1 week ago)
by hirukawa_ryo
File MIME type: text/x-java
File size: 1718 byte(s)
JPKI PDF SIGNER 1.2.7
スプラッシュスクリーンを廃止しました。
画面の一部が再描画されずに白くなってしまうバグの回避策 prism.dirtyopts=false を追加しました。
広域例外ハンドラーを設定しました。
| 1 |
package net.osdn.jpki.pdf_signer; |
| 2 |
|
| 3 |
import javafx.application.Platform; |
| 4 |
import net.osdn.util.javafx.application.SingletonApplication; |
| 5 |
|
| 6 |
public class Main { |
| 7 |
|
| 8 |
public static void main(String[] args) { |
| 9 |
// 画面の一部が再描画されずに白くなってしまうバグを回避するために、prism.dirtyopts=false を指定しています。 |
| 10 |
System.setProperty("prism.dirtyopts", "false"); |
| 11 |
|
| 12 |
Platform.setImplicitExit(false); |
| 13 |
SingletonApplication.launch(MainApp.class, args); |
| 14 |
|
| 15 |
// プロセス終了 |
| 16 |
// この時点で main (id=1) と DestroyJavaVM の他に AWT-Shutdown などの非デーモンスレッドが残っていることがあります。 |
| 17 |
// 非デーモンスレッドによってプロセスの終了が遅くなることがあります。 |
| 18 |
// macOS では特に顕著で main メソッドの復帰からプロセス終了まで 5秒程度かかることもあります。 |
| 19 |
// この影響で App Store の審査で「メインウィンドウを閉じてもプロセスが終了していない」というリジェクトを受けました。 |
| 20 |
// 対処として、非デーモンスレッドが残っていても すばやくプロセスを終了できるように System.exit(0) を呼ぶようにしました。 |
| 21 |
// |
| 22 |
// exewrap で二重起動を防止している場合は最初の launch が復帰して isStopped == true になったスレッドで System.exit(0) を呼びます。 |
| 23 |
// isStopped == false の場合は、二重起動時のウィンドウを最前面にするだけの main メソッド呼び出しであり、System.exit(0) を呼び出してはいけません。 |
| 24 |
if(SingletonApplication.isStopped()) { |
| 25 |
System.exit(0); |
| 26 |
} |
| 27 |
} |
| 28 |
} |
|