(゚Д゚#)
2時間ほど頭を抱えてしまったので備忘録も兼ねて投稿。キレそう(キレてる)。JavaFX8です。
馬鹿げたネタではありますが自戒の意も込めて駄文を綴りましたので時間のある方はどうぞお付き合いください。
……本当に困ってここへ辿り着いたお方いらっしゃいましたら、よろしければ一緒に踊りましょう(┓^ω^)┛))ヨイサヨイサ♪ (┓^ω^)┛))ホイサホイサ♪
「IllegalArgumentException: Invalid URL: unknown protocol: c」
絶対パスをそのままぶち込んだら「そんなプロトコル知らんぞ」と言われてますね。こっちだって知らんわぶっ◯すぞ。
で、どうもよく見たらパスではなくURLを要求してるんですね。いやよく見なくてもプロトコルっつってますしエラーの1行目にもがっつり書かれてるんですけど。それどころかコーディングの段階で言ってくれてます。てへぺろ。
とまあ、つまるところ「ローカルファイルをURLで指定」すればいいわけです。
ググってみますと頭に「file:」と付け足せば済むそうで。
String path = "C:\\~(略)";
Image image = new Image("file:"+path);
たったこれだけのことです。つらいですね。俺の2時間を返せ。
おまけ
「なんかテストしたら『RuntimeException: Internal graphics not initialized yet』を吐かれたんだけど」って人います?
私は吐かれました。ここ( http://namihira.hatenablog.com/entry/2014/12/29/125834 )見たら解決すると思うんでどうぞ。