javafx中的可滚动网格窗格
我正在尝试将multiply VBox添加到滚动窗格中的gridpane(在下面的代码片段中称为refPane)javafx中的可滚动网格窗格,java,javafx,gridpane,Java,Javafx,Gridpane,我正在尝试将multiply VBox添加到滚动窗格中的gridpane(在下面的代码片段中称为refPane) int columnIndex = 0; int rowIndex = 0; int boxWidth = windowWidth/ITEMS_PER_ROW; int boxHeight = windowHeight/ITEMS_PER_COLUMN; for(int i=0; i<items.size(); i++){
int columnIndex = 0;
int rowIndex = 0;
int boxWidth = windowWidth/ITEMS_PER_ROW;
int boxHeight = windowHeight/ITEMS_PER_COLUMN;
for(int i=0; i<items.size(); i++){
VBox vBox = new VBox();
vBox.setPrefWidth(boxWidth);
vBox.setPrefHeight(boxHeight);
Label label1 = new Label();
label1.setText("ImgPlaceholder");
label1.setPrefWidth(boxWidth);
label1.setPrefHeight(boxHeight / 100 * 70);
vBox.getChildren().add(label1);
Label label2 = new Label();
label2.setText("Description");
label2.setPrefWidth(boxWidth);
label2.setPrefHeight(boxHeight / 100 * 30);
label2.setPadding(new Insets(0,0,0, 10));
vBox.getChildren().add(label2);
refPane.add(vBox, columnIndex, rowIndex);
if(columnIndex != 0 && columnIndex % GAMES_PER_ROW == 0){
rowIndex++;
columnIndex = 0;
}else {
columnIndex++;
}
int columnIndex=0;
int rowIndex=0;
int-boxWidth=窗口宽度/每行项目数;
int boxHeight=窗高/每列项目数;
对于(int i=0;i可能是javafx优先考虑收缩VBox而不是扩展网格窗格。尝试将每个VBox的minHeight
设置为等于其prefHeight
,以防止它们垂直收缩。可能是javafx优先考虑收缩VBox而不是扩展网格窗格。尝试设置每个VBox的最小高度
,等于其预高度
,以防止它们垂直收缩。那很容易。非常感谢:)那很容易。非常感谢:)