Я пытаюсь создать всплывающее окно из файла FXML.
Я пытаюсь это сделать в своем главном контроллере:
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("View/InventoryManagement.fxml"));
primaryStage.setTitle("Inventory Management System");
primaryStage.setScene(new Scene(root, 1250, 440));
primaryStage.show();
}
public void showPopUp() throws Exception{
Stage stage = new Stage();
Parent addPartDialog = FXMLLoader.load(getClass().getResource("View/AddPart.fxml"));
stage.setTitle("Add Part");
Scene addPartScene = new Scene(addPartDialog);
stage.setScene(addPartScene);
stage.showAndWait();
}
public static void main(String[] args) {
launch(args);
}
}
И это мое событие:
public void addPart(ActionEvent event) throws Exception {
main.showPopUp();
}
Что я не понимаю, так это то, что я могу просто прекрасно открыть VBox, используя в моем контроллере:
final VBox addPartDialog = new VBox();
Scene addPartScene = new Scene(addPartDialog, 600, 500);
Но когда я использую
Parent addPartDialog = FXMLLoader.load(getClass().getResource("View/AddPart.fxml"));
Scene addPartScene = new Scene(addPartDialog);
Этоне работает, потому что он говорит, что у меня есть исключение nullpointer.