Java “有麻烦”;“如何创建底部导航”;胶子(createButton)

Java “有麻烦”;“如何创建底部导航”;胶子(createButton),java,javafx,gluon,gluon-mobile,Java,Javafx,Gluon,Gluon Mobile,我正在尝试为我的Gluon移动应用程序添加底部导航,所以我四处寻找,发现了以下内容:。我试图在我的代码中实现它,但它不起作用,所以我将它转移到一个空的、单视图的项目中。在那里,经过一些故障排除和导入包之后,我能够识别出具体的错误。如下所示(周围有两个星号的代码是产生错误的代码,以下是错误): 每行的错误: 找不到符号 符号:方法createButton(字符串,节点,(e)->showV[…]ew2”)) 位置:bottomNavigation类型的变量bottomNavigation 以下是完

我正在尝试为我的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);
}
}