0
我需要在圖像滾動窗格之間進行空間分割。我將一個圖像視圖和一個按鈕添加到Vbox中。然後,將vbox添加到gridpane.gridpane添加到滾動窗格。但是, scrollpane變得過於擁擠。我使用gridpane.setPadding(),但沒有效果。 這裏是我的代碼:如何保持圖像在滾動窗格之間的空間
File file = new File("D:\\SERVER\\Server Content\\Apps\\icons");
File[] filelist1 = file.listFiles();
ArrayList<File> filelist2 = new ArrayList<>();
for (File file1 : filelist1) {
filelist2.add(file1);
}
btnar=new ArrayList<>();
for (int i = 0; i < filelist2.size(); i++) {
downloadbtn=new Button("Download");
btnar.add(downloadbtn);
}
System.out.println(filelist2.size());
gridpane.setAlignment(Pos.CENTER);
gridpane.setPadding(new Insets(50, 50, 50, 50));
gridpane.setHgap(50);
gridpane.setVgap(50);
ColumnConstraints columnConstraints = new ColumnConstraints();
columnConstraints.setFillWidth(true);
columnConstraints.setHgrow(Priority.ALWAYS);
gridpane.getColumnConstraints().add(columnConstraints);
int imageCol = 0;
int imageRow = 0;
for (int i = 0; i < filelist2.size(); i++) {
System.out.println(filelist2.get(i).getName());
image = new Image(filelist2.get(i).toURI().toString());
pic = new ImageView();
pic.setFitWidth(130);
pic.setFitHeight(130);
pic.setImage(image);
vb = new VBox();
vb.getChildren().addAll(pic,btnar.get(i));
gridpane.add(vb, imageCol, imageRow);
GridPane.setMargin(pic, new Insets(2,2,2,2));
imageCol++;
// To check if all the 3 images of a row are completed
if (imageCol > 2) {
// Reset Column
imageCol = 0;
// Next Row
imageRow++;
}
}
這裏」我的舞臺的樣子,當圖像被添加
效果真的不錯!。這是我剛剛使用場景構建器將gridpane放在scrollpane的頂部。相反,我創建了一個gridpane對象並使用了scrollPane.setContent(gridpane); – 2014-09-02 09:13:56