编辑SceneBuilder生成的模型

问题描述 投票:0回答:1

我有一个问题,我在过去的几天里一直在努力,项目的最后期限即将到来。我正在使用JavaFX桌面应用程序而且遇到了一个问题:我使用SceneBuilder创建了GUI,我的菜单应该是动态的(从数据库中获取项目并进入菜单)。我试图这样做,问题是当我运行应用程序菜单时没有改变。我做错了什么?

main.Java

 public void start(Stage primaryStage) throws Exception{

    Parent root = FXMLLoader.load(getClass().getResource("home.fxml"));
    primaryStage.setTitle("Whatever");
    MainController.setMenu();
    primaryStage.setScene(new Scene(root, 1200, 800));

    Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds();
    primaryStage.setX(primaryScreenBounds.getMinX());
    primaryStage.setY(primaryScreenBounds.getMinY());
    primaryStage.setWidth(primaryScreenBounds.getWidth());
    primaryStage.setHeight(primaryScreenBounds.getHeight());
    primaryStage.show();

}

public static void main(String[] args) throws ClassNotFoundException, SQLException {
    launch(args);

}

main controller.Java

 public static void setMenu() throws SQLException, ClassNotFoundException {
     myMenu = new Menu();
    String myQuery = "SELECT name FROM USER.TABLE1";
    Connection connection = DBConnect.connect();
    Statement statement = connection.createStatement();
    ResultSet data = statement.executeQuery(myQuery);

    while (data.next()) {
        System.out.println(data.getString(1));//works
        String dataString = data.getString(1);
       myMenu.getItems().add(new MenuItem(dataString));
    }

    }
java javafx javafx-8
1个回答
1
投票

你在MainController中初始化了一个新的Menu对象,并用一些MenuItem填充它,但我没看到你在哪里添加这个菜单到你的视图。

菜单出现在您的视图中,它是空的?

© www.soinside.com 2019 - 2024. All rights reserved.