如何使用 javafx 在 Gluon 移动应用程序中切换视图?
How to switch views in Gluon mobile app using javafx?
我正在尝试使用 javafx 创建 Gluon 移动应用程序。我想创建一个登录页面,在其中成功登录后,我需要单击按钮加载另一个(第二视图)视图。我没有得到一个合适的例子。如果有人知道这一点,请提供帮助。我有两个视图主要演示者和次要演示者。(带 FXML 的 gluon 应用程序)。下面是我的主要视图的控制器。
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
}
}
}
假设您正在使用 Gluon 插件 - 带有 FXML 模板的多视图项目,您可以使用 MobileApplication.getInstance().switchView(viewName)
轻松切换视图。
你的情况:
@FXML
private void buttonClick(ActionEvent event) {
...
MobileApplication.getInstance().switchView("SECONDARY_VIEW");
}
如果您使用的是 Glisten-Afterburner 模板(它也使用 FXML),您可以使用如下内容:
@FXML
private void buttonClick(ActionEvent event) {
...
AppViewManager.SECONDARY_VIEW.switchView();
}
您可以找到有关 Gluon Mobile 的更多信息 API here。
我正在尝试使用 javafx 创建 Gluon 移动应用程序。我想创建一个登录页面,在其中成功登录后,我需要单击按钮加载另一个(第二视图)视图。我没有得到一个合适的例子。如果有人知道这一点,请提供帮助。我有两个视图主要演示者和次要演示者。(带 FXML 的 gluon 应用程序)。下面是我的主要视图的控制器。
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
}
}
}
假设您正在使用 Gluon 插件 - 带有 FXML 模板的多视图项目,您可以使用 MobileApplication.getInstance().switchView(viewName)
轻松切换视图。
你的情况:
@FXML
private void buttonClick(ActionEvent event) {
...
MobileApplication.getInstance().switchView("SECONDARY_VIEW");
}
如果您使用的是 Glisten-Afterburner 模板(它也使用 FXML),您可以使用如下内容:
@FXML
private void buttonClick(ActionEvent event) {
...
AppViewManager.SECONDARY_VIEW.switchView();
}
您可以找到有关 Gluon Mobile 的更多信息 API here。