2017-03-17 2 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); 


    } 

Note: Avoir deux fichiers FXML Frontpage.fxml et ConnectedPage.fxml avec un contrôleur projectxController i.e. code ci-dessusComment faire pour modifier le texte de l'étiquette de FXML chargé

  1. Frontpage.fxml a un bouton qui charge connectedPage.fxml.
  2. Connectedpage.fxml a une étiquette

Maintenant, je veux mettre le texte d'étiquette après connectedpage.fxml est chargé

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

Qu'avez-vous déjà essayé? –

+0

J'ai essayé avec label.setText ("ABC"); mais cela donne l'exception –

+0

Les exceptions sont lancées pour être fixées ^^ alors pouvez-vous nous en donner les détails? – azro

Répondre

0

Lorsque vous vous créez FXML vous documenter devez donner un identifiant unique pour vous Label:

La même chose que vous avez fait pour l'AnchorPane.

Exemple

@FXML 
private Label myLabel; 

Ensuite, dans la méthode d'initialisation de votre classe de contrôleur de FXML vous pouvez le modifier comme vous le souhaitez.

Si votre problème est de savoir comment accéder à l'étiquette à partir d'un autre contrôleur, vous pouvez utiliser une méthode get ou passer une instance du contrôleur dont vous avez besoin. Tout cela après que le fxml a été chargé avec succès.

Je vous recommande également d'utiliser différents contrôleurs pour différents fichiers fxml, car ils sont plus clairs.

Faites une recherche sur fxml loading techniques and how to connect different controllers sur le web et vous trouverez ce que vous avez besoin.