获取控制器字符串值到另一个控制器

时间:2017-05-02 22:11:06

标签: javafx controller fxmlloader

我无法理解要做什么来获取另一个控制器的字符串值。我已经搜索了其他问题并且无法应用解决方案,因为一些答案似乎让我很困惑。 我想在一个控制器中找到一个组合框值转移到另一个控制器中的文本字段。 我尝试从控制器类创建对象以设置文本值,但它失败了。

这是其中一个控制器类中的代码(另一个控制器只有变量名):

String name_val = item.getValue().toString(); //controller1 item value
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("contoller2.fxml"));
Parent root1 = (Parent) fxmlLoader.load();

//set value to a textfield in controller2.fxml


Stage stage_completed = new Stage();

stage_completed.setScene(new Scene(root1));  
stage_completed.show();

感谢任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

解决方案:

String name_val = item.getValue().toString(); //controller1 item value
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("contoller2.fxml"));
Parent root1 = (Parent) fxmlLoader.load();

//solution start
CompleteformController myControllerHandle = fxmlLoader.getController();  
           myControllerHandle.complete_title.setText(name_val);
//solution end

Stage stage_completed = new Stage();

stage_completed.setScene(new Scene(root1));  
stage_completed.show();