2017-03-16 70 views
0

类别: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”);

我指着该代码是行不通的。

它不写“测试测试”到文本框。

回答

0

您正在加载一个新的面板:

AnchorPane frame = fxmlLoader.load(); 

但你不能添加窗格中显示的场景图。

+0

我明白了。我该如何解决? –

+0

您需要的帧添加到当前场景中,或者将其放在它自己的舞台。在您的代码片段中,没有足够的信息可以更准确地提供我提供给您的信息。 –

+0

或者,如果你已经装载'别处PerformancePage.fxml'和*然后显示它*,你需要从加载显示的实例装载机得到控制。关键是你需要连接到显示的UI实例的控制器。 –

相关问题