画像で構成される TilePane があります。タイルペイン内の画像は、ユーザーが選択したフォルダー内の画像の数によって異なります。しかし、タイルペインにスクロールペインがなかったので、タイルペインをスクロールペイン内に配置することにしましたが、スクロールペインの高さを制御してページ全体を占めることができません。
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;
}
出力は何か人生です..