【发布时间】:2021-04-18 21:52:10
【问题描述】:
我正在尝试向我的 Gluon Mobile 应用程序添加底部导航,所以我环顾四周,发现了这个:How to create Bottom Navigation。我试图在我的代码中实现这一点,但它不起作用,所以我将它转移到一个空的单视图项目中。在那里,我能够在对包进行一些故障排除和导入后识别出具体的错误。如下(带两个星号的代码是产生错误的代码,下面是错误):
BottomNavigationButton btn1 = bottomNavigation.**createButton**("View1", MaterialDesignIcon.DASHBOARD.graphic(), e -> showView("view1"));
BottomNavigationButton btn2 = bottomNavigation.**createButton**("View2", MaterialDesignIcon.AC_UNIT.graphic(), e -> showView("view2"));
BottomNavigationButton btn3 = bottomNavigation.**createButton**("View3", MaterialDesignIcon.MAP.graphic(), e -> showView("view3"));
每一行的错误: 找不到标志 符号:方法 createButton(String,Node,(e)->showV[...]ew2")) 位置:BottomNavigation类型的变量bottomNavigation
这是完整的代码:
package com.myfirstapplication;
import com.gluonhq.charm.glisten.application.MobileApplication;
import com.gluonhq.charm.glisten.control.AppBar;
import com.gluonhq.charm.glisten.control.BottomNavigation;
import com.gluonhq.charm.glisten.mvc.View;
import com.gluonhq.charm.glisten.visual.MaterialDesignIcon;
import com.gluonhq.charm.glisten.visual.Swatch;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ToggleButton;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class MyFirstApplication extends MobileApplication {
@Override
public void init() {
addViewFactory(HOME_VIEW, () ->
{
StackPane root = new StackPane();
root.getChildren().add(new Label("test"));
View view = new View(root) {
@Override
protected void updateAppBar(AppBar appBar) {
appBar.setTitleText("Home");
}
};
view.setBottom(createBottomNavigation());
return view;
});
}
private BottomNavigation createBottomNavigation() {
BottomNavigation bottomNavigation = new BottomNavigation();
BottomNavigationButton btn1 = bottomNavigation.createButton("View1", MaterialDesignIcon.DASHBOARD.graphic(), e -> showView("view1"));
BottomNavigationButton btn2 = bottomNavigation.createButton("View2", MaterialDesignIcon.AC_UNIT.graphic(), e -> showView("view2"));
BottomNavigationButton btn3 = bottomNavigation.createButton("View3", MaterialDesignIcon.MAP.graphic(), e -> showView("view3"));
bottomNavigation.getActionItems().addAll(btn1, btn2, btn3);
return bottomNavigation;
}
private void showView(String viewName) {
MobileApplication.getInstance().switchView(viewName);
}
}
【问题讨论】:
标签: java javafx gluon gluon-mobile