質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.49%
JavaFX

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

Q&A

解決済

1回答

3742閲覧

JavaFXでFXMLLoader.load()を使うと、エラーが起きる

iceE

総合スコア25

JavaFX

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

0グッド

0クリップ

投稿2021/01/26 10:15

編集2021/01/26 10:17

前提・実現したいこと

JavaFX + Gradle を使ってソフトウェア開発をしようと思っています。
3日調べて解決できなかったので、質問させて頂きます。

startメソッドからfxmlファイルをロードする処理を実装中に以下のエラーメッセージが発生しました。

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

19:07:18: タスクを実行中 'run'... > Task :compileJava > Task :processResources NO-SOURCE > Task :classes > Task :configJavafxRun > Task :run FAILED 3 actionable tasks: 3 executed Exception in Application start method java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051) Caused by: java.lang.RuntimeException: Exception in Application start method at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.NullPointerException: Location is required. at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3230) at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3194) at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3163) at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3136) at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3113) at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3106) at icee.Main.start(Main.java:18) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ... 1 more Exception running application icee.Main FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':run'. > Process 'command 'C:\Program Files\Java\jdk-11.0.10\bin\java.exe'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 1s 19:07:19: タスクの実行を完了しました 'run'。

該当のソースコード

Main.java

java

1package icee; 2 3import javafx.application.Application; 4import javafx.fxml.FXMLLoader; 5import javafx.scene.Parent; 6import javafx.scene.Scene; 7import javafx.stage.Stage; 8 9public class Main extends Application { 10 11 public static void main(String[] args) { 12 launch(args); 13 } 14 15 @Override 16 public void start(Stage primaryStage) throws Exception { 17 Parent root = FXMLLoader.load(getClass().getResource("design.fxml")); 18 primaryStage.setTitle("Hello World"); 19 primaryStage.setScene(new Scene(root, 300, 275)); 20 primaryStage.show(); 21 } 22} 23

design.fxml

fxml

1<?xml version="1.0" encoding="UTF-8"?> 2 3<?import java.lang.*?> 4<?import java.util.*?> 5<?import javafx.scene.*?> 6<?import javafx.scene.control.*?> 7<?import javafx.scene.layout.*?> 8 9<AnchorPane xmlns="http://javafx.com/javafx" 10 xmlns:fx="http://javafx.com/fxml" 11 fx:controller="icee.Main" 12 prefHeight="400.0" prefWidth="600.0"> 13 14</AnchorPane> 15

build.grade

gradle

1plugins { 2 id 'java' 3 id 'application' 4 id 'org.openjfx.javafxplugin' version '0.0.8' 5} 6 7group 'io.github.iceE-1591' 8version '1.0' 9 10sourceCompatibility = 11 11 12repositories { 13 mavenCentral() 14} 15 16allprojects { 17 repositories { 18 maven { url 'https://jitpack.io' } 19 } 20} 21 22dependencies { 23 testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0' 24 testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' 25} 26 27test { 28 useJUnitPlatform() 29} 30 31javafx { 32 modules = [ 'javafx.controls' , 'javafx.fxml' ] 33 version = '11.0.2' 34} 35 36dependencies { 37 implementation 'com.github.sapher:youtubedl-java:1.1' 38} 39 40mainClassName = 'icee.Main'

試したこと

JavaFXチュートリアルを使って、プロジェクトを作成した場合にはしっかりfxmlの記述通りにウィンドウが表示されます。
ですが、Gradeでプロジェクトを作成した場合、Parent root = FXMLLoader.load(getClass().getResource("design.fxml"));のloadの部分でエラーが吐かれます。

ファイル構造

file構造

1src 2 ┗main 3 ┗java 4 ┗icee 5 ┣design.fxml 6 ┗Main.java

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

intellij idea
Java SE 11
Gradle 6.8
JavaFX 11

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

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

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

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

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

guest

回答1

0

ベストアンサー

fxmlファイルは、src/main/resources/icee/design.fxml じゃないかな。

src ┗main ┗java ┗icee ┗Main.java ┗resources ┗icee ┣design.fxml

投稿2021/01/26 14:38

編集2021/01/26 14:40
shiketa

総合スコア3971

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問