Java “有麻烦”;“如何创建底部导航”;胶子(createButton)
我正在尝试为我的Gluon移动应用程序添加底部导航,所以我四处寻找,发现了以下内容:。我试图在我的代码中实现它,但它不起作用,所以我将它转移到一个空的、单视图的项目中。在那里,经过一些故障排除和导入包之后,我能够识别出具体的错误。如下所示(周围有两个星号的代码是产生错误的代码,以下是错误): 每行的错误: 找不到符号 符号:方法createButton(字符串,节点,(e)->showV[…]ew2”)) 位置:bottomNavigation类型的变量bottomNavigation 以下是完整的代码:Java “有麻烦”;“如何创建底部导航”;胶子(createButton),java,javafx,gluon,gluon-mobile,Java,Javafx,Gluon,Gluon Mobile,我正在尝试为我的Gluon移动应用程序添加底部导航,所以我四处寻找,发现了以下内容:。我试图在我的代码中实现它,但它不起作用,所以我将它转移到一个空的、单视图的项目中。在那里,经过一些故障排除和导入包之后,我能够识别出具体的错误。如下所示(周围有两个星号的代码是产生错误的代码,以下是错误): 每行的错误: 找不到符号 符号:方法createButton(字符串,节点,(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);
}
}
您应该首先查看JavaDoc。 此方法已被弃用并随后被删除。折旧消息准确地描述了您必须使用的内容 只是重申一下,在查看文档之前,不要开始在互联网上搜索答案
最新的JavaDoc for Glisten框架(移动用户界面)是在好的,我很抱歉。但是,我仍然不确定如何使用按钮。我确实阅读了BottomNavigationButton的文档,并尝试编写了一个示例,但我不习惯使用JavaDocs,所以我有点困惑。它还说我需要使用toggleButton,我不确定如何使用。如果有示例,请与我分享非常感谢。谢谢!
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);
}
}