2017-03-17 106 views
0
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即上述如何從加載FXML

  1. Frontpage.fxml編碼有一個按鈕,可以加載connectedPage.fxml
  2. Connectedpage.fxml有一個標籤

現在我想設置標籤文本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(); 
    } 
+0

到目前爲止您嘗試過什麼? –

+0

我試着用label.setText(「ABC」);但是這是例外 –

+0

例外被啓動是固定^^所以你能給我們的細節嗎? – azro

回答

0

後,當你創建你FXML記錄你有你標籤給一個唯一的ID:

與AnchorPane相同。

@FXML 
private Label myLabel; 

然後你FXML控制器類的初始化方法裏面,只要你想,你可以修改它。

如果你的問題是如何從另一個控制器訪問標籤,你可以使用get方法或傳遞你需要的控制器實例。所有在fxml成功加載後。

我還建議你對不同的fxml文件使用不同的控制器,因爲它更清晰。

在網上搜索fxml loading techniques and how to connect different controllers,你會發現你需要什麼。