javafx:usesystemmenubar在启动-splash选项时出现问题

qjp7pelc  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(156)

我在macosx下使用openjfx,我观察到我的应用程序有一个奇怪的行为。
我的环境是
软件版本SOS x el capitan(10.11.6)javaopenjdk版本“15”2020-09-15
openjdk运行时环境采用openjdk(构建15+36)
openjdk 64位服务器vm采用openjdk(构建15+36,混合模式,共享)openjfx15.0.1
我的应用程序使用MacOSX的系统菜单栏

menuBar.setUseSystemMenuBar(true)

用java从命令行启动应用程序时,一切都正常。当我在“开始”中添加-splash选项时,菜单将显示在应用程序内部,而不是mac os系统菜单。
我想这可能是java本身或javafx的一个bug,我不确定。
我的演示应用程序是由两个类构建的

public class Launcher {
    public static void main(String[] args) {
        MyApp.runApp(args);
    }
}

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class MyApp extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = System.getProperty("javafx.version");
        Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
        MenuBar menuBar = new MenuBar(new Menu("TEST"));
        menuBar.setUseSystemMenuBar(true);
        Scene scene = new Scene(new VBox(menuBar, new StackPane(l)), 640, 480);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void runApp(String[] args) {
        launch(args);
    }
}

当不使用-splash调用时,应用程序支持系统菜单栏

使用-splash选项调用时,菜单位于应用程序内部

有人见过类似的行为吗?你知道openjavaorder和openjavafx是否已经存在漏洞了吗?我什么也没找到。
您认为哪个项目适合针对openjava或openjavafx提交bug?
提前谢谢thorsten

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题