如何从JavaFX中的其他控制器类访问表单?
问题描述:
类别:DbUserController.cs如何从JavaFX中的其他控制器类访问表单?
btnTamam.setOnAction((ActionEvent event) -> {
......
........
FXMLLoader fxmlLoader = new FXMLLoader();
fxmlLoader.setLocation(getClass().getResource("/View/PerformancePage.fxml"));
AnchorPane frame = fxmlLoader.load();
PerformancePageController c = (PerformancePageController) fxmlLoader.getController();
c.txtUrl.setText("TEST TEST");
});
txtUrl = PerformancePage.fxml的TextField
c.txtUrl.setText( “TEST TEST”);
我指着该代码是行不通的。
它不写“测试测试”到文本框。
答
您正在加载一个新的面板:
AnchorPane frame = fxmlLoader.load();
但你不能添加窗格中显示的场景图。
我明白了。我该如何解决? –
您需要的帧添加到当前场景中,或者将其放在它自己的舞台。在您的代码片段中,没有足够的信息可以更准确地提供我提供给您的信息。 –
或者,如果你已经装载'别处PerformancePage.fxml'和*然后显示它*,你需要从加载显示的实例装载机得到控制。关键是你需要连接到显示的UI实例的控制器。 –