前提・実現したいこと
Javafxで簡単なGUIのプログラムを実行したいです。
(ボタンを押すと文字が表示される)
アクションイベントの中身を書くを参考にサンプルプログラムを実行しようとしたところエラーが起こって実行できませんでした。
どうすればエラーを解消できるでしょうか?
発生している問題・エラーメッセージ
1 10, 2019 4:05:39 午後 javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 10.0.1 by JavaFX runtime of version 8.0.192 javafx.fxml.LoadException: No controller specified.
該当のソースコード
Form.fxml
<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Button?> <?import javafx.scene.control.Label?> <?import javafx.scene.control.TextField?> <?import javafx.scene.layout.AnchorPane?> <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="420.0" xmlns="http://javafx.com/javafx/10.0.1" xmlns:fx="http://javafx.com/fxml/1"> <children> <Label layoutX="28.0" layoutY="49.0" prefHeight="32.0" prefWidth="87.0" text="TARGET" /> <TextField layoutX="28.0" layoutY="81.0" prefHeight="40.0" prefWidth="360.0" /> <TextField layoutX="28.0" layoutY="255.0" prefHeight="40.0" prefWidth="360.0" /> <Button layoutX="307.0" layoutY="136.0" mnemonicParsing="false" onAction="#onButtonClick" prefHeight="32.0" prefWidth="81.0" text="test" /> </children> </AnchorPane>
FormController.java
package application; import javafx.event.ActionEvent; import javafx.fxml.FXML; public class FormController { @FXML protected void onButtonClick(ActionEvent evt) { System.out.println("クリックされました!"); } }
Main.java
package application; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.scene.layout.AnchorPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { try { AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("Form.fxml")); Scene scene = new Scene(root,400,400); scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } }
補足情報(FW/ツールのバージョンなど)
Windows
java version "1.8.0_191"
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。