`Alert` иногда дает смехотворно маленькие окна - как это исправить? - PullRequest
0 голосов
/ 26 сентября 2018

Это происходит с Oracle Java 10, а также с OpenJDK 10 и 11 с OpenJFX от Maven на Linux.Чаще всего получается так:

The alert window

Я пробовал setMinWidth и setMinHeight, но, похоже, это не имеет значения привсе.Мой код:

Alert alert = new Alert(AlertType/INFORMATION);
alert.setTitle("Testtitle");
alert.setContentText("Some example content text for an alert box.");
alert.getDialogPane.setMinHeight(Region.USE_PREF_SIZE);
alert.getDialogPane.setMinWidth(Region.USE_PREF_SIZE);
alert.showAndWait();

Это выполняется в потоке приложения JavaFX.

1 Ответ

0 голосов
/ 03 октября 2018

Для меня проблема решена с помощью Alert#setResizable true

public class Test extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        Scene scene = new Scene(new Label("Test"), 600, 400);

        stage.setScene(scene);
        stage.setOnCloseRequest(e -> {
            Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
            alert.initOwner(stage);
            alert.initModality(Modality.APPLICATION_MODAL);
            alert.setTitle("Exit");
            alert.setHeaderText(null);
            alert.setContentText("Do you want to exit?");
            alert.setResizable(true);
//            alert.getDialogPane().getScene().getWindow().sizeToScene();
            alert.showAndWait();
        });

        stage.setTitle("TestApp");
        stage.show();
    }

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

}

openjdk версия "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (сборка 11 + 28)
OpenJDK 64-битный сервер VM 18.9 (сборка 11 + 28, смешанный режим)

OpenJFX 11

Идентификатор распространителя: Ubuntu
Описание: Ubuntu 18.04.1 LTS
Релиз: 18.04
Кодовое имя: bionic

...