回答編集履歴
3
追記
answer
CHANGED
@@ -42,4 +42,8 @@
|
|
42
42
|
このアプリケーションのドキュメント・ベースURIを取得します。アプリケーションがブラウザに埋め込まれている場合、このメソッドは**アプリケーションを含むWebページのURI**を返します。アプリケーションがwebstartモードで起動された場合、このメソッドは**JNLPファイルで指定されているコードベース・パラメータ**を返します(ドキュメント・ベースおよびコード・ベースはこのモードでは同じです)。アプリケーションがスタンドアロン・モードで起動された場合、このメソッドは**現在のディレクトリのURI**を返します。
|
43
43
|
|
44
44
|
---
|
45
|
+
追記:指摘し忘れていましたが、ロードが成功しても失敗してもダイアログは閉じるべきだと思います。上の回答に書いた「ドキュメントベースやコードベース」の話とは別に、Workerの状態がSUCCEEDEDあるはFAILEDになった時点で閉じるようにすればよいでしょう。
|
46
|
+
|
47
|
+
---
|
48
|
+
|
45
49
|
JDK 1.8.0_131
|
2
コードベース・ドキュメントベースの説明の表現を変更
answer
CHANGED
@@ -30,9 +30,9 @@
|
|
30
30
|
|
31
31
|
> 実行可能JARとして実行すると、Workerがほぼ全く「SUCCEEDED」になりません。
|
32
32
|
|
33
|
-
WebEngineへのloadの引数が相対URLになっていてドキュメントベース/コードベースの違いが原因でロードに失敗しているのだと思います。ロードに失敗するとWorkerの状態はFAILEDで終わります。
|
33
|
+
WebEngineへのloadの引数が相対URLになっていて、実行環境によるドキュメントベース/コードベースの違いが原因でロードに失敗しているのだと思います。ロードに失敗するとWorkerの状態はFAILEDで終わります。
|
34
34
|
|
35
|
-
コードベース・ドキュメントベースの違いについてはHostServiceのリファレンスに以下の記載があります。
|
35
|
+
実行環境によるコードベース・ドキュメントベースの違いについてはHostServiceのリファレンスに以下の記載があります。
|
36
36
|
|
37
37
|
[HostService](http://docs.oracle.com/javase/jp/8/javafx/api/javafx/application/HostServices.html)
|
38
38
|
> public final String getCodeBase()
|
1
コードの冗長なthisを削除
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
...import省略...
|
9
9
|
public class MyApp extends Application {
|
10
10
|
public void start(Stage stage) throws Exception {
|
11
|
-
Parent root = FXMLLoader.load(
|
11
|
+
Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));
|
12
12
|
stage.setScene(new Scene(root));
|
13
13
|
...
|
14
14
|
}
|