Подтвердить что ты не робот

Набор ICON для приложения JavaFX отображается в Windows, но не в Ubuntu

Это немного странно или, возможно, что-то не так с моим кодом.

Я устанавливаю приложение ICF приложения JavaFX, которое очень хорошо видно в системе Windows, но не на Ubuntu.

В Windows:

On TaskbarOn Window

В Ubuntu:

On Ubuntu unity-panel

Любая идея о причине этого.

Пример кода:

@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();
    }
}
4b9b3361

Ответ 1

Для людей, которые ищут решение, это открытая проблема в трекер JDK.

Gtk: поддержка глобальной панели меню

Согласно комментарию разработчика JavaFX на аналогичной проблеме:

Glass/FX в настоящее время не поддерживает глобальную панель меню на GTK (RT-28202). Таким образом, Glass не устанавливает никаких подсказок в приложении, чтобы указать имя приложения или значок приложения. Окружение рабочего стола должно угадывать их самостоятельно (вероятно, используя заголовок окна и значок). Следовательно, правильно, что "окно приложения" (# 1 выше) должно всегда отображать правильное название, в то время как другие 3 места могут или не могут отображать правильный заголовок в зависимости от таймингов. Это вряд ли изменится до тех пор, пока не будет установлен RT-28202.

RT-28202 был идентификатором проблемы для вышеупомянутой связанной проблемы, прежде чем проблемы с JavaFX были объединены с проблемами JDK.

Этот вопрос имеет очень меньше голосов и поэтому не вызвал большого интереса. Если вы зарегистрированы в качестве участника, не стесняйтесь голосовать за проблему.