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

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

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

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

Java

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

Eclipse

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

FXML

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

Q&A

解決済

1回答

1232閲覧

JAVAFX 画面遷移でエラー

退会済みユーザー

退会済みユーザー

総合スコア0

JavaFX

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

Java

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

Eclipse

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

FXML

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

0グッド

0クリップ

投稿2020/08/25 06:13

編集2020/09/28 07:26

前提・実現したいこと

scenebuilderで作成した画面内のボタンを押したら画面が変わり、変わった先で戻るボタンを押すと前の画面に戻るプログラムを作りたいです

発生している問題・コンソールメッセージ

javafx.fxml.LoadException: No controller specified. /D:/JAVA/MENU/bin/application/KanriF5.fxml:16 文字数が入りきらないので以下省略

起動はできますが、メインメニューのF5を押すとコンソールに上記がでます。

該当のソースコード

java

1/** 2 * "MENU.fxml"コントローラ・クラスのサンプル・スケルトン 3 */ 4 5package application; 6 7 8 9import java.io.IOException; 10import java.net.URL; 11import java.util.ResourceBundle; 12 13import javafx.event.ActionEvent; 14import javafx.fxml.FXML; 15import javafx.fxml.FXMLLoader; 16import javafx.scene.Node; 17import javafx.scene.Parent; 18import javafx.scene.Scene; 19import javafx.scene.control.ToggleButton; 20import javafx.stage.Stage; 21import javafx.stage.Window; 22 23public class MENUController { 24 25 @FXML // ResourceBundle that was given to the FXMLLoader 26 private ResourceBundle resources; 27 28 @FXML // URL location of the FXML file that was given to the FXMLLoader 29 private URL location; 30 31 @FXML // fx:id="buttonF2" 32 private ToggleButton buttonF2; // Value injected by FXMLLoader 33 34 35 @FXML // fx:id="buttonEsc" 36 private ToggleButton buttonEsc; // Value injected by FXMLLoader 37 38 @FXML 39 void On_buttonEscClick(ActionEvent event) { 40 41 } 42 43 @FXML 44 void On_buttonF2Click(ActionEvent event) { 45 46 } 47 48 49 50 @FXML // This method is called by the FXMLLoader when initialization is complete 51 void initialize() { 52 assert buttonF2 != null : "fx:id=\"buttonF2\" was not injected: check your FXML file 'MENU.fxml'."; 53 assert buttonEsc != null : "fx:id=\"buttonEsc\" was not injected: check your FXML file 'MENU.fxml'."; 54 55 } 56} 57

該当のソースコード

java

1/** 2 * "KanriF5.fxml"コントローラ・クラスのサンプル・スケルトン 3 */ 4package application; 5 6import java.io.IOException; 7import java.net.URL; 8import java.util.ResourceBundle; 9 10import javafx.event.ActionEvent; 11import javafx.fxml.FXML; 12import javafx.fxml.FXMLLoader; 13import javafx.scene.Node; 14import javafx.scene.Parent; 15import javafx.scene.Scene; 16import javafx.scene.control.Button; 17import javafx.stage.Stage; 18import javafx.stage.Window; 19 20public class aub { 21 22 @FXML // ResourceBundle that was given to the FXMLLoader 23 private ResourceBundle resources; 24 25 @FXML // URL location of the FXML file that was given to the FXMLLoader 26 private URL location; 27 28 @FXML // fx:id="buttonF4" 29 private Button buttonF4; // Value injected by FXMLLoader 30 31 @FXML // fx:id="buttonEsc" 32 private Button buttonEsc; // Value injected by FXMLLoader 33 34 35 36 @FXML 37 void On_buttonEscClick_sub(ActionEvent event) { 38 39 /* 40 * 現在表示されている画面を閉じる 41 */ 42 Scene s = ((Node)event.getSource()).getScene(); 43 Window window = s.getWindow(); 44 window.hide(); 45 46 /* 47 * 新しい画面を生成する 48 */ 49 try { 50 Parent parent = FXMLLoader.load(getClass().getResource("MENU.fxml")); 51 Scene scene = new Scene(parent); 52 Stage stage = new Stage(); 53 stage.setScene(scene); 54 stage.setTitle("メニュー"); 55 stage.show(); 56 }catch(IOException e) { 57 e.printStackTrace(); 58 } 59 } 60 61 62 @FXML 63 void On_buttonF4Click_kanri(ActionEvent event) { 64 65 } 66 67 @FXML // This method is called by the FXMLLoader when initialization is complete 68 void initialize() { 69 assert buttonF4 != null : "fx:id=\"buttonF4\" was not injected: check your FXML file 'sub.fxml'."; 70 assert buttonEsc != null : "fx:id=\"buttonEsc\" was not injected: check your FXML file 'sub.fxml'."; 71 72 } 73} 74

### わからないこと
javafx.fxml.LoadException: No controller specified.
このエラーメッセージは何が原因で発生していますか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

scenebuilder側のミスでした。
左側のドキュメント内のコンロトーラーでコントローラークラスの指定がされていませんでした。

投稿2020/08/25 06:36

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問