0

working with Java fxml in scenebuilder and have Mainform.fxml file my AppInitialize.java file is like this

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

import java.io.IOException;

public class AppInitializer extends Application {

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

    @Override
    public void start(Stage primaryStage) throws IOException {
        primaryStage.setScene(new Scene(FXMLLoader.load(getClass().getResource("./view/MainForm.fxml"))));
        primaryStage.show();

    }
}

my CustomerForm.fxml

 <ImageView disable="true" fitHeight="40.0" fitWidth="40.0" layoutX="40.0" layoutY="201.0" pickOnBounds="true" preserveRatio="true" AnchorPane.leftAnchor="50.0" AnchorPane.rightAnchor="52.0">
                     <image>
                        <Image url="@../asset/customer.png" />
                     </image>
                  </ImageView>

MainFormController.java is

package controller;

import javafx.event.ActionEvent;
import javafx.fxml.FXMLLoader;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;

import java.io.IOException;

public class MainFormController {
    private AnchorPane container;

    public void customerOnAction(ActionEvent actionEvent) throws IOException {
        AnchorPane pane = FXMLLoader.load(getClass().getResource("CustomerForm.fxml"));
        container.getChildren().setAll(pane);
    }

    public AnchorPane getContainer() {
        return container;
    }

    public void setContainer(AnchorPane container) {
        this.container = container;
    }

    public void customerOnMouseClick(MouseEvent mouseEvent) {
    }
}

but when I click in Customer Button it is not displaying customer form in the MainForm Container. encounting following error message.

Caused by: java.lang.NullPointerException: Location is required.
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3207)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
    at controller.MainFormController.customerOnAction(MainFormController.java:14)
    ... 58 more

how could I fix this problem?

Ranawaka
  • 43
  • 5

0 Answers0