当前位置: 首页 > 知识库问答 >
问题:

JavaFX2.0工具栏按钮加载fxml

宋腾
2023-03-14

我有一个有几个按钮的工具栏。我想要几个按钮来加载不同的FXML文件。现在的方法是用Java代码编写fxml文件,并在每次调用时插入它。如果我可以调用FXML文件并获得正确的场景,这将是一个更好的选择。这是我加载设置视图的示例:

public void showModelSettings(){
    clearPane();
    GridPane gridPane = new GridPane();
    ColumnConstraints cc1 = new ColumnConstraints();
    cc1.setPercentWidth(50);
    ColumnConstraints cc2 = new ColumnConstraints();
    cc2.setPercentWidth(50);
    gridPane.getColumnConstraints().addAll(cc1,cc2);

    RowConstraints rc1 = new RowConstraints();
    rc1.setPercentHeight(30);
    RowConstraints rc2 = new RowConstraints();
    rc2.setPercentHeight(70);
    gridPane.getRowConstraints().addAll(rc1,rc2);

    //iwModel.setImage(new Image("C:\Users\Public\Pictures\Sample Pictures\Desert.jpg"));

    gridPane.setConstraints(cbModel, 0, 0);
    gridPane.setConstraints(btnImageChooser, 1, 0);

    gridPane.setConstraints(iwModel, 0, 1, 2, 1);


    gridPane.getChildren().addAll(cbModel, btnImageChooser,iwModel);
    mainPanel.getChildren().add(gridPane);

}

我以前使用过tabpane,它的便利之处在于它可以加载“内容”,在某种程度上,它是一个actionlistener,可以加载fxml文件。我希望工具栏按钮具有此功能。

我们将非常感谢您的帮助!谢谢:)

共有1个答案

卢出野
2023-03-14

我想也许我解决了它,还不能检查,因为我的项目在其他包中有几个错误。但以下是我相信会起作用的代码:

private Parent replaceSceneContent(String fxml) throws Exception {
        Parent page = (Parent) FXMLLoader.load(InventorySystem.class.getResource("/hist/inventory/gui/fxml/"+fxml), ResourceBundle.getBundle("MessageBundle",localSettings.getLocale()), new JavaFXBuilderFactory());
        Scene scene = stage.getScene();
        if(scene == null) {
            scene = new Scene(page, 340, 280);
            scene.getStylesheets().add("hist/inventory/gui/startStyle.css");    //Endre styles?
            //stage.setResizable(false);    //Må kanskje flyttes
            stage.setScene(scene);
            Organizer.getWindowFitter().setScene(scene);
        } else {
            stage.getScene().setRoot(page);
        }
        stage.sizeToScene();
        return page;
    }

    public void setScene(String scene) throws Exception {
        replaceSceneContent(scene);
    }
 类似资料:
  • 在此对话框您可以指定当浏览磁盘文件夹 (“在压缩文件外部时显示”选项) 或查看压缩文件内容 (“在压缩文件内部时显示”选项 ) 时,要显示哪一些工具栏按钮。可以改变按钮的顺序,只要选择您希望移动的按钮并按下“上移”或“下移”来改变它们的位置。如果您要恢复默认工具栏配置,按下“默认”按钮。 “分隔符”按钮在选择的当前按钮前插入一个分隔符线。如果您要移除一个分隔符,或者取消它的选择状态,或者再次按下“

  • icon NativeImage- 缩略图工具栏中显示的icon图标。 clickFunction tooltip String(可选) - 按钮的提示文本。 flags String - 控制按钮的特定状态和行为。默认情况下,它是['enabled']。 flags是一个数组,可以包括以下 String: enabled - 该按钮是活动的,可供用户使用。 disabled - 该按钮被禁用。如

  • 我有一个web服务,它会返回给定文档id的pdf流,我会将内容类型设置为application/pdf,并将输出写入IFRAME,直到这一点,我完成并确定!我的问题是:我的要求是禁用IFRAME中的pdf下载工具栏按钮,是否有任何方法可以使用JavaScript或j query禁用pdf工具栏按钮,我尝试了以下方法: 我尝试设置工具栏=0为iframe标签,但它无法工作。有人请告诉我如何实现这一点

  • 我在我的活动中有一个工具栏,然后我在片段中膨胀了一个菜单,问题是它甚至在“更多”按钮中添加了相同的选项,该按钮甚至不应该存在,甚至没有执行layoutManager和adapterTables上的功能(但图标已更改) 活动: 菜单: 片段: 以下是设备上工具栏的情况: 编辑: 当我更改片段时,菜单将恢复正常工作: 正如你可以看到菜单开始工作后,我按下表选项,做一个片段替换,然后按列表选项,它替换片

  • 将导航栏或工具栏(情节提要)拖动到视图控制器时出现问题。 UINavigationBar: 如上图所示,右键几乎与状态栏重叠。 与UIToolbar发生相同的情况: 此视图控制器旨在用作模式,这就是我不使用UINavigationController的原因。 在另一节中,我使用了一个UINavigationController,它的外观与我预期的一样: 如何将UINavigationBar/UIT

  • 是否可以在工具栏中同时显示主页图标和后退图标?1) 是否可以更改后退按钮图标和主页图标的显示顺序。目前,它首先显示箭头按钮,然后显示徽标(主页按钮) 2) 第二个要求是在单击home图标并返回上一个屏幕(如果是back按钮)时清除活动堆栈。 我有以下代码,将显示一个箭头键和主页图标,这是设置为标志。是否可以处理这两个图标上的点击事件: 我可以通过onOptionsITemSelec方法处理点击箭头