Вызывается: javafx.f xml .LoadException: Root не является экземпляром javafx.scene.layout.AnchorPane - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь создать свой проект, но сталкиваюсь с проблемой
основной класс

public class Controller extends AnchorPane {

    public Controller() throws IOException {
        System.out.println("is this called");
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("FXMLDocument.fxml"));

        fxmlLoader.setRoot(this);
        fxmlLoader.setController(this);

        try {
            fxmlLoader.load();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    public static void main(String[] args) {
        launch(args);
    }

}

F XML Файл

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <Button layoutX="198.0" layoutY="129.0" mnemonicParsing="false" text="Button" />
      <Button layoutX="198.0" layoutY="200.0" mnemonicParsing="false" onAction="#handleButtonAction" text="Button" />
   </children>
</AnchorPane>

Класс контроллера

public class FXMLDocumentController implements Initializable {

    private Label label;

    private void handleButtonAction(ActionEvent event) {
        System.out.println("You clicked me!");
        label.setText("Hello World!");
    }

    @Override
    public void initialize(URL url, ResourceBundle rb) {

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...