在JavaFX中组合菜单栏和窗口框架
我正在尝试创建一个与(自定义)窗口框架集成的(自定义)菜单栏。我试图实现的一个例子是VSCode的功能。 菜单栏与标题和窗口按钮显示在同一行上。注意定制的窗口框架(或)和菜单栏。窗口按钮(-)☐ X)保持Windows 10样式 我正在尝试使用JavaFX重新创建它。首先,我不知道这是自定义框架还是没有框架的自定义菜单栏。两者都会导致不同的答案,所以我只想创建一些类似于JavaFX中VSCode的东西 到目前为止,这就是我所拥有的。 我不想把窗框和菜单栏分开!它在我的具体项目中占用了太多宝贵的空间。此外,我喜欢黑色主题,而不是默认的白色窗框 以某种方式编辑窗口框架以拥有一个自定义栏是很好的,但我认为在JavaFX中不容易做到这一点。相反,我想我会专注于制作一个带有无框窗口的自定义菜单栏。我可以用:在JavaFX中组合菜单栏和窗口框架,java,javafx,Java,Javafx,我正在尝试创建一个与(自定义)窗口框架集成的(自定义)菜单栏。我试图实现的一个例子是VSCode的功能。 菜单栏与标题和窗口按钮显示在同一行上。注意定制的窗口框架(或)和菜单栏。窗口按钮(-)☐ X)保持Windows 10样式 我正在尝试使用JavaFX重新创建它。首先,我不知道这是自定义框架还是没有框架的自定义菜单栏。两者都会导致不同的答案,所以我只想创建一些类似于JavaFX中VSCode的东西 到目前为止,这就是我所拥有的。 我不想把窗框和菜单栏分开!它在我的具体项目中占用了太多宝贵
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();
}
没有代码片段?我甚至不知道你是否使用fxml或纯javafx来创建你的应用程序:0是的,如果你使用未修饰的stage,你将失去所有好的功能(调整大小、dragAndDrop等),但你也可以使用addListener将这些功能写入你的窗口…这是一项工作,但已经有很多代码片段,这非常有用!关于你的颜色,你可以为你的应用程序使用css或setStyle来创建一个黑色主题:3I使用fxml,但决定只使用普通的javafx代码。关于CSS的注意事项,它会减慢Java应用程序的速度吗?