LoginSignup
3
4

More than 5 years have passed since last update.

【JavaFX】new Image(パス)でIllegalArgumentExceptionが発生する

Posted at

(゚Д゚#)

2時間ほど頭を抱えてしまったので備忘録も兼ねて投稿。キレそう(キレてる)。JavaFX8です。
馬鹿げたネタではありますが自戒の意も込めて駄文を綴りましたので時間のある方はどうぞお付き合いください。
……本当に困ってここへ辿り着いたお方いらっしゃいましたら、よろしければ一緒に踊りましょう(┓^ω^)┛))ヨイサヨイサ♪ (┓^ω^)┛))ホイサホイサ♪

「IllegalArgumentException: Invalid URL: unknown protocol: c」

絶対パスをそのままぶち込んだら「そんなプロトコル知らんぞ」と言われてますね。こっちだって知らんわぶっ◯すぞ。

2017-06-06_00h25_14.png

で、どうもよく見たらパスではなくURLを要求してるんですね。いやよく見なくてもプロトコルっつってますしエラーの1行目にもがっつり書かれてるんですけど。それどころかコーディングの段階で言ってくれてます。てへぺろ。
2017-06-06_00h29_42.png

とまあ、つまるところ「ローカルファイルをURLで指定」すればいいわけです。
ググってみますと頭に「file:」と付け足せば済むそうで。

hoge.java
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 )見たら解決すると思うんでどうぞ。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4