🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

731閲覧

何を直せばいいのか分からずどなたか教えてください…

nakagen

総合スコア24

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2020/12/10 00:18

編集2020/12/10 00:39

前提・実現したいこと

プログラムを作っていたら、突然このようなエラーメッセージが起きました。
なんでこのエラーメッセージが起きたのか考えても分かりません…
どなたか助けてください…

発生している問題・エラーメッセージ

Exception in Application start method java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389) at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767) Caused by: java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$154(LauncherImpl.java:182) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException: Input stream must not be null at javafx.scene.image.Image.validateInputStream(Image.java:1128) at javafx.scene.image.Image.<init>(Image.java:706) at saisyuukadai.date1.start(date1.java:116) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:863) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$174(PlatformImpl.java:326) at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177) ... 1 more

試したこと

プログラムが長いので、プログラムにエラーが起きた1歩手前の行動につき、プログラムを割愛させて頂きます。(全文が必要な場合は、言って頂けると助かります)

class meEventHandler implements EventHandler<ActionEvent>{ public void handle(ActionEvent e3) { stage4 = new Stage(); lb = new Label(""); ch1 = new CheckBox("水やり"); ch2 = new CheckBox("晴れ"); bt1 = new Button("設定"); BorderPane bp =new BorderPane(); VBox hb = new VBox(); VBox hb1 = new VBox(); hb.getChildren().add(ch1); hb.getChildren().add(ch2); hb.setAlignment(Pos.CENTER); hb1.getChildren().add(lb); hb1.getChildren().add(bt1); hb1.setAlignment(Pos.CENTER); bt1.setOnAction(new installEventHandler()); bp.setLeft(hb); bp.setCenter(hb1); Scene sc = new Scene(bp, 400, 400); stage4.setScene(sc); stage4.show(); } } //ここの画像読み込みの役割のイベントハンドラを試験的に追加して、消したら上記のようなエラーが出ました。 class installEventHandler implements EventHandler<ActionEvent>{ public void handle(ActionEvent e) { try{ //not embedded resource. doesn't work when packaged in jar File file = new File("black_dot.png"); Image imageFromProjectFolder = new Image(file.toURI().toString());//or new Image(new FileInputStream("black_dot.png")); ImageView view1 = new ImageView(imageFromProjectFolder); URL url = getClass().getResource("red_dot.png"); Image imageFromSourceFolder = new Image(url.openStream()); ImageView view2 = new ImageView(imageFromSourceFolder); //or new ImageView("/package/red_dot.png"); url = getClass().getResource("/resources/blue_dot.png"); Image imageFromReourceFolder = new Image(url.openStream()); ImageView view3 = new ImageView(imageFromReourceFolder); //or new ImageView("/resources/blue_dot.png"); pane = new TilePane(view1, view2, view3); } catch (Exception ex) {ex.printStackTrace();} } } }

補足情報(FW/ツールのバージョンなど)

jdk14

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/12/10 00:22

タイトルに要件が含まれていませんし、エラーだけ提示されてもできるアドバイスは「エラー読んで」「エラーの通り」くらいしかないですよ。
nakagen

2020/12/10 00:27

申し訳ありませんでした、元々のプログラムを追加するということでよろしいでしょうか…?
m.ts10806

2020/12/10 00:30

「質問するときのヒント」にある通り「あなたがしたことを書きましょう」です。 エラーは「起きたこと」です。 他者が再現できる情報がなければ答えようがないのです。何をしたのかを知ってるのが質問者だけの状況はよろしくありません。
nakagen

2020/12/10 00:31

あ、そういうことですね… 分かりました、書き直します
coco_bauer

2020/12/10 00:32

少なくともプログラムの追加が必要です。 それから、どのような操作をしたときに質問のエラーが出たのかという情報も必要です。
nakagen

2020/12/10 00:40

了解しました、ただいま書き直しましたので改めてよろしくお願いします
guest

回答1

0

ベストアンサー

エラーメッセージの初めに "Exception in Application start method"と書かれているので、

at saisyuukadai.date1.start(date1.java:116)

date1.javaというファイルの116行目あたりに問題がありそうに思われます。

この後、validateInputStreamメソッドで、「java.lang.NullPointerException: Input stream must not be null」という例外を引き起こしていますから。

こういう感じで、エラーメッセージとプログラムの該当箇所を関連付けていくことで少しずつ問題を解決していってはいかがですか?

投稿2020/12/10 03:04

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問