Получаю ошибку NullPointerException

При запуске приложения получаю ошибку

Caused by: java.lang.NullPointerException: Cannot invoke "javafx.scene.control.Button.setOnAction(javafx.event.EventHandler)" because "this.ToStajerTwo" is null
    at sample.Controller.initialize(Controller.java:84)
    84 строка - ToStajerTwo.setOnAction(event -> {

Мейн:

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Mod Helper");
        primaryStage.setScene(new Scene(root, 800, 500));
        primaryStage.show();
    }


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

Контроллер:

package sample;

import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

public class Controller {

    @FXML
    private ResourceBundle resources;

    @FXML
    private URL location;

    @FXML
    private Button Stajer;

    @FXML
    private Button Helper;

    @FXML
    private Button Moderator;

    @FXML
    private Button SeniorModerator;

    @FXML
    private Button ToStajerTwo;

    @FXML
    private Button BackStajer;

    @FXML
    public void initialize() {
        Stajer.setOnAction(event -> {
            try {
                Parent root = FXMLLoader.load(getClass().getResource("Stajer.fxml"));
                Stage window = (Stage) Stajer.getScene().getWindow();
                window.setScene(new Scene(root, 800, 500));
            } catch (IOException e) {
                e.printStackTrace();
            }

        });
        Helper.setOnAction(event -> {
            try {
                Parent root = FXMLLoader.load(getClass().getResource("Helper.fxml"));
                Stage window = (Stage) Stajer.getScene().getWindow();
                window.setScene(new Scene(root, 800, 500));
            } catch (IOException e) {
                e.printStackTrace();
            }

        });

        Moderator.setOnAction(event -> {
            try {
                Parent root = FXMLLoader.load(getClass().getResource("Moderator.fxml"));
                Stage window = (Stage) Stajer.getScene().getWindow();
                window.setScene(new Scene(root, 800, 500));
            } catch (IOException e) {
                e.printStackTrace();
            }

        });

        SeniorModerator.setOnAction(event -> {
            try {
                Parent root = FXMLLoader.load(getClass().getResource("SeniorModerator.fxml"));
                Stage window = (Stage) Stajer.getScene().getWindow();
                window.setScene(new Scene(root, 800, 500));
            } catch (IOException e) {
                e.printStackTrace();
            }

        });

        ToStajerTwo.setOnAction(event -> {
            try {
                Parent root = FXMLLoader.load(getClass().getResource("StajerTwo"));
                Stage window = (Stage) Stajer.getScene().getWindow();
                window.setScene(new Scene(root, 800, 500));
            } catch (IOException e) {
                e.printStackTrace();
            }

        });

        BackStajer.setOnAction(event -> {
            try {
                Parent root = FXMLLoader.load(getClass().getResource("Stajer"));
                Stage window = (Stage) Stajer.getScene().getWindow();
                window.setScene(new Scene(root, 800, 500));
            } catch (IOException e) {
                e.printStackTrace();
            }

        });


    }
}

Stajer.fxml:

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

<?import javafx.scene.Cursor?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.effect.Glow?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="800.0" style="-fx-background-color: #f0f8ff;" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
    <children>
        <AnchorPane layoutY="-4.0" prefHeight="84.0" prefWidth="800.0" style="-fx-background-color: #808080;" AnchorPane.bottomAnchor="420.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
            <children>
                <Button fx:id="Stajer" layoutX="14.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #ffff00;" text="...">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                    <effect>
                        <Glow level="0.25" />
                    </effect>
                    <cursor>
                        <Cursor fx:constant="HAND" />
                    </cursor>
                </Button>
                <Button fx:id="Helper" layoutX="155.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #008000;" text="Помощник">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                </Button>
                <Button fx:id="Moderator" layoutX="534.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #8b00ff;" text="Модератор">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                </Button>
                <Button fx:id="SeniorModerator" layoutX="679.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #42aaff;" text="Старший модератор">
                    <font>
                        <Font name="System Bold" size="9.0" />
                    </font>
                </Button>
            </children>
        </AnchorPane>
      <AnchorPane layoutX="-1.0" layoutY="79.0" prefHeight="422.0" prefWidth="800.0" style="-fx-background-color: #adff2f;">
         <children>
            <AnchorPane layoutX="300.0" layoutY="14.0" prefHeight="34.0" prefWidth="200.0">
               <children>
                  <Text layoutX="12.0" layoutY="25.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Доступные команды:" wrappingWidth="176.13671875">
                     <font>
                        <Font name="System Bold" size="16.0" />
                     </font>
                  </Text>
               </children>
            </AnchorPane>
            <Text layoutX="14.0" layoutY="71.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/god - Режим бога, бессмертие" wrappingWidth="344.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Text layoutX="14.0" layoutY="102.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/helpop (/l) - Модераторский чат" wrappingWidth="365.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Text layoutX="14.0" layoutY="133.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/invsee [ник] - Открывает инвентарь игрока" wrappingWidth="365.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Text layoutX="14.0" layoutY="195.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/seen [ник] - Отображает когда игрок был в сети" wrappingWidth="365.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Text layoutX="17.0" layoutY="259.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/whois [ник] - Отображает подробную информацию о игроке в онлайне" wrappingWidth="358.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Text layoutX="14.0" layoutY="350.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/checkip [ник] - Отображает IP игрока, количество аккаунтов на айпи, расположение на карте" wrappingWidth="365.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Text layoutX="379.0" layoutY="71.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/checkban [ник] - Отображает, забанен ли игрок, причина, кто забанил, количество варнов" wrappingWidth="365.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Text layoutX="379.0" layoutY="164.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/ipreport - Отображает IP всех игроков на сервере, их аккаунты, забаненные аккаунты помечает красным цветом" wrappingWidth="365.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Text layoutX="379.0" layoutY="288.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/history [ник] - Показывает выданные нарушения игроку" wrappingWidth="344.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Button fx:id="ToStajerTwo" layoutX="681.0" layoutY="330.0" mnemonicParsing="false" prefHeight="84.0" prefWidth="84.0" style="-fx-background-color: #ff0000;" text="→" textFill="WHITE">
               <font>
                  <Font size="36.0" />
               </font>
            </Button>
            <ButtonBar layoutX="389.0" layoutY="352.0" prefHeight="40.0" prefWidth="200.0" />
         </children>
      </AnchorPane>
    </children>
</AnchorPane>

StajerTwo.fxml:

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

<?import javafx.scene.Cursor?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.effect.Glow?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="800.0" style="-fx-background-color: #f0f8ff;" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
    <children>
        <AnchorPane layoutY="-4.0" prefHeight="84.0" prefWidth="800.0" style="-fx-background-color: #808080;" AnchorPane.bottomAnchor="420.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
            <children>
                <Button fx:id="Stajer" layoutX="14.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #ffff00;" text="...">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                    <effect>
                        <Glow level="0.25" />
                    </effect>
                    <cursor>
                        <Cursor fx:constant="HAND" />
                    </cursor>
                </Button>
                <Button fx:id="Helper" layoutX="155.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #008000;" text="Помощник">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                </Button>
                <Button fx:id="Moderator" layoutX="534.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #8b00ff;" text="Модератор">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                </Button>
                <Button fx:id="SeniorModerator" layoutX="679.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #42aaff;" text="Старший модератор">
                    <font>
                        <Font name="System Bold" size="9.0" />
                    </font>
                </Button>
            </children>
        </AnchorPane>
        <AnchorPane layoutX="-1.0" layoutY="79.0" prefHeight="422.0" prefWidth="800.0" style="-fx-background-color: #adff2f;">
            <children>
                <AnchorPane layoutX="300.0" layoutY="14.0" prefHeight="34.0" prefWidth="200.0">
                    <children>
                        <Text layoutX="12.0" layoutY="25.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Доступные команды:" wrappingWidth="176.13671875">
                            <font>
                                <Font name="System Bold" size="16.0" />
                            </font>
                        </Text>
                    </children>
                </AnchorPane>
                <Text layoutX="14.0" layoutY="71.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/dupeip [ник] - Отображает информацию о игроке или IP адресе. Количество аккаунтов, состояние бана" wrappingWidth="344.13671875">
                    <font>
                        <Font name="System Bold" size="21.0" />
                    </font>
                </Text>
                <Text layoutX="16.0" layoutY="195.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/co i - Включает/выключает режим проверки блоков. Кто ставил, кто ломал, открывал" wrappingWidth="365.13671875">
                    <font>
                        <Font name="System Bold" size="21.0" />
                    </font>
                </Text>
                <Text layoutX="14.0" layoutY="288.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/tempmute [ник] [время] [пункт правила] - Запрещает игроку пользоваться чатом на некоторое время." wrappingWidth="358.13671875">
                    <font>
                        <Font name="System Bold" size="21.0" />
                    </font>
                </Text>
                <Text layoutX="372.0" layoutY="71.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/mute [ник] [пункт правила] - Навсегда запрещает игроку пользовться чатом." wrappingWidth="365.13671875">
                    <font>
                        <Font name="System Bold" size="21.0" />
                    </font>
                </Text>
            <Text layoutX="372.0" layoutY="188.0" strokeType="OUTSIDE" strokeWidth="0.0" text="/warn [ник] [-s] [пункт правила] [разъяснения причины] - Выдаёт предупреждение игроку" wrappingWidth="365.13671875">
               <font>
                  <Font name="System Bold" size="21.0" />
               </font>
            </Text>
            <Button fx:id="BackStajer" layoutX="653.0" layoutY="293.0" mnemonicParsing="false" prefHeight="84.0" prefWidth="84.0" style="-fx-background-color: #ff0000;" text="←" textFill="WHITE">
               <font>
                  <Font size="36.0" />
               </font>
            </Button>
            </children>
        </AnchorPane>
    </children>
</AnchorPane>

SeniorModerator.fxml:

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

<?import javafx.scene.Cursor?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.effect.Glow?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="800.0" style="-fx-background-color: #f0f8ff;" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
    <children>
        <AnchorPane prefHeight="80.0" prefWidth="800.0" style="-fx-background-color: #808080;" AnchorPane.bottomAnchor="420.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
            <children>
                <Button fx:id="Stajer" layoutX="14.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #ffff00;" text="Стажёр">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                    <effect>
                        <Glow level="0.25" />
                    </effect>
                    <cursor>
                        <Cursor fx:constant="HAND" />
                    </cursor>
                </Button>
                <Button fx:id="Helper" layoutX="155.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #008000;" text="Помощник">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                </Button>
                <Button fx:id="Moderator" layoutX="534.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #8b00ff;" text="Модератор">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                </Button>
                <Button fx:id="SeniorModerator" layoutX="679.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #42aaff;" text="...">
                    <font>
                        <Font name="System Bold" size="9.0" />
                    </font>
                </Button>
            </children>
        </AnchorPane>
        <AnchorPane layoutX="-1.0" layoutY="79.0" prefHeight="422.0" prefWidth="800.0" style="-fx-background-color: #42aaff;">
            <children>
                <AnchorPane layoutX="300.0" layoutY="14.0" prefHeight="34.0" prefWidth="200.0">
                    <children>
                        <Text layoutX="12.0" layoutY="25.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Доступные команды:" wrappingWidth="176.13671875">
                            <font>
                                <Font name="System Bold" size="16.0" />
                            </font>
                        </Text>
                    </children>
                </AnchorPane>
                <Text layoutX="14.0" layoutY="71.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
                <Text layoutX="14.0" layoutY="139.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
                <Text layoutX="14.0" layoutY="103.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
                <Text layoutX="14.0" layoutY="177.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
                <Text layoutX="14.0" layoutY="207.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
            </children>
        </AnchorPane>
    </children>
</AnchorPane>

Helper.fxml:

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

<?import javafx.scene.Cursor?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.effect.Glow?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="800.0" style="-fx-background-color: #f0f8ff;" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
    <children>
        <AnchorPane prefHeight="80.0" prefWidth="800.0" style="-fx-background-color: #808080;" AnchorPane.bottomAnchor="420.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
            <children>
                <Button fx:id="Stajer" layoutX="14.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #ffff00;" text="Стажёр">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                    <effect>
                        <Glow level="0.25" />
                    </effect>
                    <cursor>
                        <Cursor fx:constant="HAND" />
                    </cursor>
                </Button>
                <Button fx:id="Helper" layoutX="155.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #008000;" text="...">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                </Button>
                <Button fx:id="Moderator" layoutX="534.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #8b00ff;" text="Модератор">
                    <font>
                        <Font name="System Bold" size="12.0" />
                    </font>
                </Button>
                <Button fx:id="SeniorModerator" layoutX="679.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #42aaff;" text="Старший модератор">
                    <font>
                        <Font name="System Bold" size="9.0" />
                    </font>
                </Button>
            </children>
        </AnchorPane>
        <AnchorPane layoutX="-1.0" layoutY="79.0" prefHeight="422.0" prefWidth="800.0" style="-fx-background-color: #008000;">
            <children>
                <AnchorPane layoutX="300.0" layoutY="14.0" prefHeight="34.0" prefWidth="200.0">
                    <children>
                        <Text layoutX="12.0" layoutY="25.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Доступные команды:" wrappingWidth="176.13671875">
                            <font>
                                <Font name="System Bold" size="16.0" />
                            </font>
                        </Text>
                    </children>
                </AnchorPane>
                <Text layoutX="14.0" layoutY="71.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
                <Text layoutX="14.0" layoutY="139.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
                <Text layoutX="14.0" layoutY="103.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
                <Text layoutX="14.0" layoutY="177.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
                <Text layoutX="14.0" layoutY="207.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" wrappingWidth="289.13671875" />
            </children>
        </AnchorPane>
    </children>
</AnchorPane>

sample.fxml:

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

<?import javafx.scene.Cursor?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.effect.Glow?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="800.0" style="-fx-background-color: #f0f8ff;" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
   <children>
      <AnchorPane prefHeight="80.0" prefWidth="800.0" style="-fx-background-color: c0c0c0;" AnchorPane.bottomAnchor="420.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
         <children>
            <Button fx:id="Stajer" layoutX="14.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #ffff00;" text="Стажёр">
               <font>
                  <Font name="System Bold" size="12.0" />
               </font>
               <effect>
                  <Glow level="0.25" />
               </effect>
               <cursor>
                  <Cursor fx:constant="HAND" />
               </cursor>
            </Button>
            <Button fx:id="Helper" layoutX="155.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #008000;" text="Помощник">
               <font>
                  <Font name="System Bold" size="12.0" />
               </font>
            </Button>
            <Button fx:id="Moderator" layoutX="534.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #8b00ff;" text="Модератор">
               <font>
                  <Font name="System Bold" size="12.0" />
               </font>
            </Button>
            <Button fx:id="SeniorModerator" layoutX="679.0" layoutY="33.0" mnemonicParsing="false" prefHeight="34.0" prefWidth="107.0" style="-fx-background-color: #42aaff;" text="Старший модератор">
               <font>
                  <Font name="System Bold" size="9.0" />
               </font>
            </Button>
         </children>
      </AnchorPane>
   </children>
</AnchorPane>

Ответы (1 шт):

Автор решения: insolor

Поля в контроллере, помеченные аннотацией @FXML, заполняются на основании данных из fxml файла, а именно из тегов с fx:id совпадающими с именами полей контроллера с данной аннотацией. Т.е., если в контроллере есть @FXML private Button someButton;, то в fxml файле должен быть соответствующий тег <Button fx:id="someButton" ...>, тогда поле someButton в контроллере будет заполнено.

В приведенном fxml файле нет тегов виджета с fx:id="BackStajer", поэтому поле BackStajer в контроллере не инициализируется, отсюда и NullPointerException при попытке вызвать метод от неинициализированного поля.

Если блок BackStajer.setOnAction(event -> { ... }); из контроллера убрать или в sample.fxml добавить кнопку с fx:id="BackStajer", то все начинает работать.


Контроллер инициализируется в момент запуска строки Parent root = FXMLLoader.load(getClass().getResource("Имя_файла.fxml")); в методе start класса Main, и инициализируется он с первоначальным fxml (который указан в этой строке). На момент вызова метода public void initialize() контроллера будут инициализированы толь те поля, которые есть в этом fxml. Если какого-то поля из контроллера в этом fxml нет, то оно и не будет инициализировано, и при попытке вызова метода от этого поля будет NullPointerException.

→ Ссылка