teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2018/09/04 02:40

投稿

umyu
umyu

スコア5846

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

追記

2018/09/04 02:40

投稿

umyu
umyu

スコア5846

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: から始まる行です。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
  こんな感じにデバックしてみてくださいな。