java - 编辑场景生成器生成模型

标签 java javafx javafx-8

过去几天我一直在努力解决一个问题,并且项目的截止日期即将到来。我制作了一个 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);

}

MainController.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));
    }

    }

最佳答案

您在 MainController 中初始化了一个新的 Menu 对象,并用一些 MenuItem 填充它,但我不知道您在哪里将此菜单添加到 View 中。

菜单出现在您的 View 中,但它是空的?

关于java - 编辑场景生成器生成模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48077044/

相关文章:

winapi - 为什么自定义窗口过程停止处理窗口消息?

android - Gluon eclipse插件-如何访问android SDK

java - 如何将事件从子类发送到父类

java - 如何更改表格单元格中对象的 View ? - JavaFx

警告对话框中的 JavaFX 默认聚焦按钮

java - 如何让 Android TextToSpeech 从 ListView 读取

java - 如何实现一个多维数组,其中第一维随着添加更多第二维数组而改变大小?

java - 如何在 OQL 中对字符串进行排序

JavaFX:带有自动换行的 TextFlow 的最佳宽度

java - 为什么我们不能从 Object[] 转换为 String[],而我们可以从数组中的值转换?