2

我正在尝试创建一个与(自定义)窗口框架集成的(自定义)菜单栏。我试图实现的一个例子是 VSCode 所拥有的。 VSCode 菜单

菜单栏与标题和窗口按钮出现在同一行。记下自定义的窗口框架(或)和菜单栏。窗口按钮 (- ☐ X ) 保持 Windows 10 样式。

我正在尝试使用 JavaFX 重新创建它。首先,我不知道那是自定义框架,还是没有框架的自定义菜单栏。两者都会导致不同的答案,所以我只想在 JavaFX 中创建类似于 VSCode 的东西。

到目前为止,这就是我所拥有的。 JavaFX 窗口框架和菜单栏

我不想将窗口框架和菜单栏分开!它在我的特定项目中占用了太多宝贵的空间。此外,我喜欢深色主题而不是默认的白色窗框。

以某种方式编辑窗口框架以具有自定义栏会很好,但我认为这在 JavaFX 中并不容易。相反,我想我将专注于制作带有无框窗口的自定义菜单栏。我可以使用以下方法制作无框窗口:myStage.initStyle(StageStyle.UNDECORATED); 使用无框窗口,我可以放松窗口的移动性和调整大小,以及窗口标题、图标和 Windows 10 窗口按钮。有没有办法将这些功能实现到自定义菜单栏,或者使用 JavaFX 合并菜单栏和窗口框架?

编辑:这是我到目前为止所拥有的。我取下了菜单项,并使窗口无框。

@Override
public void start(Stage window) {
    window.initStyle(StageStyle.UNDECORATED);

    Menu fileMenu = new Menu("File");

    fileMenu.getItems().add(new MenuItem("New Project..."));
    fileMenu.getItems().add(new MenuItem("Open Project..."));
    fileMenu.getItems().add(new MenuItem("Exit"));

    MenuBar menuBar = new MenuBar();
    menuBar.getMenus().addAll(fileMenu);

    BorderPane layout = new BorderPane();
    layout.setTop(menuBar);

    Scene scene = new Scene(layout, 500, 200);

    window.setScene(scene);
    window.show();
}
4

0 回答 0