我有一个由图像组成的 TilePane,tilepane 内的图像取决于用户选择的文件夹内的图像数量。但是tilepane中没有scrollpane,所以我决定把tilePane放在一个ScrollPane里面,但是我无法控制scrollpane的高度占据整个页面。
public ScrollPane viewGallery(Stage stage)
{
ScrollPane root = null;
final TilePane tile = new TilePane();
try{
root = new ScrollPane();
tile.setPadding(new Insets(5, 5, 5, 5));
tile.setVgap(4);
tile.setHgap(4);
tile.setPrefHeight(stage.getHeight());
tile.setStyle("-fx-background-color: DAE6F3;");
File[] listOfFiles = outputFolder.listFiles();
System.out.println(outputFolder.listFiles().length);
for (File file : listOfFiles) {
System.out.println(file.getPath());
Image image = new Image("file:"+file.getPath());
ImageView iv2 = new ImageView();
iv2.setImage(image);
iv2.setFitWidth(250);
iv2.setPreserveRatio(true);
iv2.setSmooth(true);
iv2.setCache(true);
tile.getChildren().add(iv2);
}
}catch(Exception e)
{
e.printStackTrace();
}
root.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); // Horizontal scroll bar
root.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); // Vertical scroll bar
root.setFitToHeight(true);
root.setFitToWidth(true);
root.setContent(tile);
return root;
}
输出就是这样的生活..