【问题标题】:Java FXML Get controller instance from another controllerJava FXML 从另一个控制器获取控制器实例
【发布时间】:2016-10-15 20:41:41
【问题描述】:

我试图在我的 MenuController 类中获取客户的姓名。客户是在我的 CustomerController 类中创建的。但是,我不断收到 NullPointer 异常错误。是不是我做错了什么?

这是涉及到的MenuController类方法

public void handle(ActionEvent event) {

        FXMLLoader loader = new FXMLLoader();
        loader.setLocation(MenuController.class.getResource("Order.fxml"));

        FXMLLoader loader2 = new FXMLLoader(getClass().getResource("Customer.fxml"));
        try {
            Parent root = loader.load();
        } catch (IOException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }
        CustomerController dac = (CustomerController) loader2.getController();

        cust = dac.customer;
        System.out.println(cust.getFirstName());

这是客户控制器方法

 continueBtn.setOnAction(e -> {
        FXMLLoader loader = new FXMLLoader();
        loader.setLocation(CustomerController.class.getResource("Menu.fxml"));


        try {
            view = (AnchorPane) loader.load();
            customer = new Customer(firstNameTextField.getText(), lastNameTextField.getText());
            closeCurrentWindow(continueBtn);

        } catch (IOException e1) {
            e1.printStackTrace();
        }

【问题讨论】:

    标签: java nullpointerexception controller javafx-2


    【解决方案1】:

    似乎直到触发 continueBtn 操作才创建客户。根据我所看到的,这可能会导致您的问题。否则您可能需要提供更多代码。

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-08
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多