JavaFX创建的Alert对话框太小

时间:2019-03-15 20:40:43

标签: java javafx alert

我正在Linux上的Java 11上使用JavaFX 11.0.1(openSUSE Tumbleweed 20190314上的KDE Plasma 5.12.2)创建一个Alert对话框,看起来像这样:

Screenshot showing the JavaFX Alert dialog as expected, large enough to make both the text and the OK button visible.

但是在大​​多数情况下,创建Alert并显示为Alert时,它变得太小了,看起来像这样:

Screenshot showing the JavaFX Alert dialog so narrow that the only thing visible within it is half of the window's icon.

大约Alert alert = new Alert(Alert.AlertType.ERROR); alert.setTitle("Feature absent"); alert.setContentText( "Feature \"edit application settings\" has not been finished yet."); alert.showAndWait(); 的五分之一将正确显示。但是其余时间会显示无用的小版本。

用于显示此对话框的代码没有什么异常:

alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
alert.getDialogPane().setMinWidth(Region.USE_PREF_SIZE);

我还尝试了this advice,方法是添加以下内容,以将大小强制设置为有用的值:

Alert

但是这给出了完全相同的行为。 (请注意,即使为最小宽度和高度设置数值也不能解决问题。)

这是JavaFX 11中的已知错误吗?是否可以使用某些已知的解决方法来确保medecin.assurance对话框是实际可读的?

1 个答案:

答案 0 :(得分:1)

关于reported的完全相同的问题已经存在一个已知问题,影响到使用KDE的Linux。可以追溯到此bug,影响JavaFX 10和11。

此问题提供了一种可行的解决方法:

alert.setResizable(true);
alert.onShownProperty().addListener(e -> { 
    Platform.runLater(() -> alert.setResizable(false)); 
});

但这可能会使警报对话框可调整大小。