用于JavaFX应用程序的ICON设置在Windows中可见,但在Ubuntu中不可见

 没有那么一个人_382 发布于 2022-12-19 17:44

这有点奇怪,或者我的代码可能有问题.

我正在设置JavaFX应用程序ICON,它在Windows系统上非常清晰可见,但在Ubuntu上却没有.

在Windows上:

在任务栏上 在窗口

在Ubuntu上:

在Ubuntu统一面板上

对此背后的原因有任何想法.

代码示例:

@Override
public void start(Stage stage) throws Exception {

    try {
        setUserAgentStylesheet(STYLESHEET_MODENA);
        FXMLLoader loader = new FXMLLoader();
        Parent root = (Parent) loader.load(getClass().getResourceAsStream("ui/ParentWindow.fxml"));
        final ParentWindowController controller = (ParentWindowController) loader.getController();

        stage.addEventHandler(WindowEvent.WINDOW_SHOWN, controller::handleWindowShownEvent);
        stage.addEventHandler(WindowEvent.WINDOW_SHOWING, controller::handleWindowShowingEvent);
        stage.addEventHandler(WindowEvent.WINDOW_CLOSE_REQUEST, controller::handleWindowClosingRequestedEvent);

        Scene scene = new Scene(root);

        scene.getStylesheets().setAll(
                getClass().getResource("ui/css/ParentWindow.css").toExternalForm()
        );

        stage.setScene(scene);
        stage.initStyle(StageStyle.UNIFIED);
        stage.setResizable(false);
        stage.toFront();
        stage.setTitle("Simple JavaFX Tool");
        stage.getIcons().add(new Image(getClass().getResourceAsStream("resources/images/icon.jpg")));
        stage.show();
    } catch (IOException iOException) {
        iOException.printStackTrace();
    }
}

ItachiUchiha.. 7

对于寻求解决方案的人来说,这是JDK问题跟踪器中的一个未解决的问题.

Gtk:实现全局系统菜单栏支持

根据JavaFX开发人员对类似问题的评论:

Glass/FX目前不支持GTK(RT-28202)上的全局菜单栏.因此,Glass不会设置任何应用程序范围的提示来指定应用程序名称或应用程序图标.桌面环境必须自己猜测它们(可能使用窗口的标题和图标).因此,"应用程序窗口"(上面的#1)应始终显示正确的标题是正确的,而其他3个位置可能会或可能不会根据时间显示正确的标题.在实施RT-28202之前,这不太可能改变.

在将JavaFX问题与JDK问题合并之前,RT-28202是上述链接问题的问题ID.

这个问题的选票非常少,因此没有引起太大兴趣.如果您已注册为贡献者,请随时为该问题投票.

1 个回答
  • 对于寻求解决方案的人来说,这是JDK问题跟踪器中的一个未解决的问题.

    Gtk:实现全局系统菜单栏支持

    根据JavaFX开发人员对类似问题的评论:

    Glass/FX目前不支持GTK(RT-28202)上的全局菜单栏.因此,Glass不会设置任何应用程序范围的提示来指定应用程序名称或应用程序图标.桌面环境必须自己猜测它们(可能使用窗口的标题和图标).因此,"应用程序窗口"(上面的#1)应始终显示正确的标题是正确的,而其他3个位置可能会或可能不会根据时间显示正确的标题.在实施RT-28202之前,这不太可能改变.

    在将JavaFX问题与JDK问题合并之前,RT-28202是上述链接问题的问题ID.

    这个问题的选票非常少,因此没有引起太大兴趣.如果您已注册为贡献者,请随时为该问题投票.

    2022-12-19 17:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有