OpenJFX разделочные диалоговые окна - PullRequest
3 голосов
/ 07 мая 2019

Я использую Linux и пытаюсь перейти с Oracle JDK на OpenJDK и OpenJFX, но у меня серьезные проблемы с приложениями JavaFX.

Возьмем, к примеру, эту простую программу:

import javafx.application.Application;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.stage.Stage;

public class AlertTest2 extends Application {
    @Override
    public void start(final Stage primaryStage) throws Exception {
        final Alert alert = new Alert(AlertType.INFORMATION, "test alert");
        alert.setContentText("content goes here");
        alert.showAndWait();
    }

    public static void main(final String... args) {
        launch(args);
    }
}

Если я запускаю его с Oracle JDK версии 8, он отлично работает и показывает окно с предупреждением.Но с OpenJDK и OpenJFX версии 11 все, что я получаю, это:
enter image description here
Я также попробовал ZuluFX версии 8 (сборка OpenJDK с включенным OpenJFX), и он работает правильно1 раз из 8, другой раз прерывая диалоговое окно с предупреждением, как показано выше.

Кто-нибудь еще сталкивался с этой проблемой?Что может быть причиной и как я могу это исправить?

1 Ответ

3 голосов
/ 07 мая 2019

После некоторых копаний я обнаружил эту ошибку: https://github.com/javafxports/openjdk-jfx/issues/222

Вот обходной путь (с этой страницы), который, кажется, помогает:

alert.setResizable(true);
alert.setOnShown(ev -> Platform.runLater(() -> alert.setResizable(false)));
alert.showAndWait();
...