我有一个带有ScrollPane的javafx警报。在ScrollPane内部我正在加载一个gridpane,其大小可能因内容而异。因此,警报随着GridPane的内容而增长。我正在使用GridPane来防止警报超出应用程序屏幕大小并允许滚动。但这不起作用。相反,警报的增长超出了我设定的范围。
这是我的代码:
ScrollPane scroll = new ScrollPane();
scroll.setContent(gridpane);
scroll.setMaxHeight(500);
alert.getDialogPane().setContent(scroll);
其中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);
}
}