如何从加载的fxml更改标签文本

时间:2017-03-17 17:26:26

标签: javafx fxml

public class ProjectxController implements Initializable {

    @FXML
    private AnchorPane LandingPane;

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
    } 

    @FXML
    private void onLoad(ActionEvent event) throws IOException{

           pane = FXMLLoader.load(getClass().getResource("connectedPage.fxml")); 
           LandingPane.getChildren().setAll(pane);


    }

注意:有两个fxml文件Frontpage.fxmlConnectedPage.fxml,其中一个控制器projectxController,即上面编码

  1. Frontpage.fxml有一个按钮,可以加载connectedPage.fxml
  2. Connectedpage.fxml有一个标签
  3. 现在我想在加载connectedpage.fxml之后设置标签文本

    public class ProjectX extends Application {
    
        @Override
        public void start(Stage stage) throws Exception {
            Parent root = FXMLLoader.load(getClass().getResource("FrontPage.fxml"));
    
            Scene scene = new Scene(root);
    
            stage.setScene(scene);
            stage.setResizable(false);
            stage.show();
        }
    

1 个答案:

答案 0 :(得分:0)

当您创建fxml文档时,您必须为您提供唯一的ID标签:

你为AnchorPane所做的一样。

实施例

@FXML
private Label myLabel;

然后在fxml控制器类的initialize方法中,您可以根据需要进行修改。

如果问题是如何从另一个控制器访问Label,您可以使用get方法或传递所需控制器的实例。 fxml成功加载后的所有内容。

我还建议您为不同的fxml文件使用不同的控制器,因为它更清晰。

通过网络搜索fxml loading techniques and how to connect different controllers,您将找到所需内容。