2

这发生在 Oracle Java 10 以及 OpenJDK 10 和 11 以及来自 Linux 上的 Maven 的 OpenJFX 上。通常情况下,结果是这样的:

警报窗口

我试过setMinWidthand 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 应用程序线程上运行的。

4

1 回答 1

1

对我来说,问题解决了Alert#setResizabletrue

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(build 11+28)
OpenJDK 64-Bit Server VM 18.9(build 11+28,混合模式)

开放JFX 11

发行商 ID:Ubuntu
描述:Ubuntu 18.04.1 LTS
版本:18.04
代号:仿生

于 2018-10-03T11:55:13.243 回答