使用滚动窗格设置 javafx 警报的 maxHeight

Sue*_*rsi 5 java alert javafx

我有一个带有 ScrollPane 的 javafx 警报。在 ScrollPane 内部,我正在加载一个网格窗格,其大小可以根据内容而变化。因此,警报随着 GridPane 的内容而增长。我正在使用 GridPane 来防止警报超出应用程序屏幕大小并允许滚动。但这是行不通的。相反,警报的大小超出了我设置的范围。

这是我的代码:

ScrollPane scroll = new ScrollPane();
scroll.setContent(gridpane);
scroll.setMaxHeight(500);
alert.getDialogPane().setContent(scroll);
Run Code Online (Sandbox Code Playgroud)

其中alert是javafx Alert类的实例,并且gridpane具有动态添加的内容。

gridpane一个实例,CustomGrid定义如下:

  public class CustomGrid extends GridPane{

    public CustomGrid() {
        this.setHgap(20);
        this.setVgap(20);

        ColumnConstraints firstColConstraints =  new ColumnConstraints();
        firstColConstraints.setHalignment(HPos.RIGHT);
        firstColConstraints.setPercentWidth(50.0);
        firstColConstraints.setHgrow(Priority.ALWAYS);
        ColumnConstraints secondColConstraints =  new ColumnConstraints();
        ColumnConstraints thirdColConstraints =  new ColumnConstraints();
        thirdColConstraints.setHgrow(Priority.ALWAYS);

        this.getColumnConstraints().addAll(firstColConstraints, secondColConstraints, thirdColConstraints);
    }
}
Run Code Online (Sandbox Code Playgroud)