回答編集履歴
2
追記
answer
CHANGED
@@ -55,4 +55,11 @@
|
|
55
55
|
> Invalid gradient specification, must end with ")"
|
56
56
|
|
57
57
|
`must`なので終端文字が`)`である必要があるという意味です。
|
58
|
-
こんな感じにデバックしてみてくださいな。
|
58
|
+
こんな感じにデバックしてみてくださいな。
|
59
|
+
|
60
|
+
---
|
61
|
+
|
62
|
+
あ、最後に
|
63
|
+
書籍のコードにスペースがあるならば、質問者さんと同じような問題を抱える人が発生しないように、
|
64
|
+
出版社のサイトに書籍の誤記としてメールしてみてくださいな。
|
65
|
+
同じように悩んで苦労される方が今後なくなるはずです。
|
1
追記
answer
CHANGED
@@ -1,42 +1,42 @@
|
|
1
1
|
>コードの打ち間違いを何回もチェックしたのですが、
|
2
2
|
|
3
3
|
自分のミスはなかなか分かりづらいので、短時間に何回もチェックする必要は無い気がします。
|
4
|
-
|
5
4
|
結論としては以下の行です。
|
6
5
|
```Java
|
6
|
+
// 後ろのスペースが余分です。
|
7
|
-
RadialGradient rg = RadialGradient.valueOf("radial-gradient(center 100px 100px,radius 200px ,red 0%,blue 30%,black 100%)
|
7
|
+
RadialGradient rg = RadialGradient.valueOf("radial-gradient(center 100px 100px,radius 200px ,red 0%,blue 30%,black 100%)");
|
8
8
|
```
|
9
|
-
```Java
|
10
|
-
RadialGradient rg = RadialGradient.valueOf("radial-gradient(center 100px 100px,radius 200px ,red 0%,blue 30%,black 100%)"); // 後ろのスペースが余分です。
|
11
|
-
```
|
12
9
|
|
13
10
|
---
|
14
11
|
|
15
12
|
◆例外メッセージの見方
|
16
|
-
見るべきポイントは最初のException in Application start methodとCaused by: から始まる行です。
|
13
|
+
見るべきポイントは最初の`Exception in Application start method`と`Caused by: `から始まる行です。
|
14
|
+
`Caused by`は直訳すると「~のせいで」です。
|
17
15
|
|
18
|
-
今回の場合は以下の2行
|
16
|
+
今回の場合は以下の2行です。
|
19
17
|
```
|
20
18
|
Caused by: java.lang.RuntimeException: Exception in Application start method
|
21
19
|
Caused by: java.lang.IllegalArgumentException: Invalid gradient specification, must end with ")"
|
22
20
|
```
|
23
|
-
java.lang.IllegalArgumentExceptionの行の下にどこで発生したかの
|
21
|
+
`java.lang.IllegalArgumentException`の行の下にどこで発生したかの出力があります。
|
24
22
|
それを確認します。
|
25
23
|
> at javafx.scene.paint.RadialGradient.valueOf(RadialGradient.java:431)
|
26
|
-
RadialGradient.valueOfメソッドで例外が発生したことが分かります。
|
24
|
+
`RadialGradient.valueOf`メソッドで例外が発生したことが分かります。
|
27
25
|
質問文のコードで`RadialGradient.valueOf`を使っているのは以下です。
|
28
26
|
```Java
|
29
27
|
RadialGradient rg = RadialGradient.valueOf("radial-gradient(center 100px 100px,radius 200px ,red 0%,blue 30%,black 100%) ");
|
30
28
|
```
|
31
29
|
|
32
|
-
この行と変数:rgを使用している部分を変更し、実行時エラーが発生しないかを確認します。
|
30
|
+
この行と変数:`rg`を使用している部分を変更し、実行時エラーが発生しないかを確認します。
|
33
|
-
- 発生したら、この
|
31
|
+
- 発生したら、この箇所も怪しいがそれ以外にも原因があるということです。
|
32
|
+
→怪しいポイントはエディタにメモすることをお勧めします。
|
34
33
|
- 発生しなければ、この行が原因です。
|
35
|
-
→実行時エラーが発生しない
|
34
|
+
→実行時エラーが発生しないため、この行が原因です。
|
36
35
|
|
37
36
|
次に参考書ではなく、1次情報である公式ドキュメントを見ます。
|
38
37
|
参考書は2次情報なので間違っている可能性があります。
|
38
|
+
(大体の出版サイトには書籍の正誤表があります、それも質問時には確認してくださいな。)
|
39
|
-
[typeradial-gradient](https://docs.oracle.com/javase/jp/8/javafx/api/javafx/scene/doc-files/cssref.html#typeradial-gradient)
|
39
|
+
公式ドキュメント:[typeradial-gradient](https://docs.oracle.com/javase/jp/8/javafx/api/javafx/scene/doc-files/cssref.html#typeradial-gradient)
|
40
40
|
|
41
41
|
使用例から値をそのままコピペします。
|
42
42
|
> 次に、radial-gradientの使用例を示します。
|
@@ -54,5 +54,5 @@
|
|
54
54
|
それで例外メッセージを再度確認します。
|
55
55
|
> Invalid gradient specification, must end with ")"
|
56
56
|
|
57
|
-
mustなので終端文字が`)`である必要があるという意味です。
|
57
|
+
`must`なので終端文字が`)`である必要があるという意味です。
|
58
58
|
こんな感じにデバックしてみてくださいな。
|