2017-10-16 7 views
0

J'essaie de créer une application mobile Gluon en utilisant javafx. Je veux créer une page de connexion dans laquelle, en cas de connexion réussie, je dois charger une autre vue (vue secondaire) en cliquant sur un bouton. Je n'ai pas eu un exemple approprié pour ça. Si quelqu'un sait cela, aidez s'il vous plaît. J'ai deux vues Présentateur principal et présentateur secondaire (application gluon avec FXML). Ci-dessous est le contrôleur de ma vue principale.Comment changer d'affichage dans l'application mobile Gluon en utilisant javafx?

public class PrimaryPresenter { 

@FXML 
private View primary; 

private Label label; 
@FXML 
private TextField username; 
@FXML 
private Button loginBt; 

private Alert alert; 
@FXML 
private PasswordField password; 
public void initialize() { 
    primary.showingProperty().addListener((obs, oldValue, newValue) -> { 
     if (newValue) { 
      AppBar appBar = MobileApplication.getInstance().getAppBar(); 
      appBar.setNavIcon(MaterialDesignIcon.MENU.button(e 
        -> MobileApplication.getInstance().showLayer(ArjunsApp.MENU_LAYER))); 
      appBar.setTitleText("Primary"); 
      appBar.getActionItems().add(MaterialDesignIcon.SEARCH.button(e 
        -> System.out.println("Search"))); 
     } 
    }); 
} 

@FXML 
private void buttonClick(ActionEvent event) { 
    if(username.getText().equals("")){ 
     alert = new Alert(AlertType.ERROR,"Enter username"); 
     alert.showAndWait(); 
    }else if(password.getText().equals("")){ 
     alert = new Alert(AlertType.ERROR,"Enter password"); 
     alert.showAndWait(); 
    }else{ 
     //Code to load my secondary view 
    } 
} 

}

Répondre

1

En supposant que vous utilisez le plugin gluons - Multi View projet avec modèle FXML, vous pouvez changer de vue facilement avec MobileApplication.getInstance().switchView(viewName).

Dans votre cas:

@FXML 
private void buttonClick(ActionEvent event) { 
    ... 
    MobileApplication.getInstance().switchView("SECONDARY_VIEW"); 
} 

Si vous utilisez le modèle Glisten-Afterburner au lieu (il utilise aussi FXML), vous pouvez utiliser quelque chose comme:

@FXML 
private void buttonClick(ActionEvent event) { 
    ... 
    AppViewManager.SECONDARY_VIEW.switchView(); 
} 

Vous pouvez trouver plus d'informations l'API Gluon Mobile here.

+0

Cela fonctionne très bien. Merci @Jose Pereda –

+0

Ok, envisagez de marquer la réponse comme acceptée (cocher à gauche) afin qu'elle puisse être utile à d'autres aussi. –