JavaFX GridPane包含未定义的间距

时间:2018-07-01 19:47:48

标签: javafx imageview label gridpane

我正在尝试向Labels中添加一些GridPane。 那些Labels包含ImageView,其中包含一些Images

我的图片是.png图片,尺寸为50 x 50像素。

如果我的GridPane越来越大,无法在屏幕上显示它,我想调整图像的大小。我正在尝试使用方法setFitWidthsetFitHeight

已剪切:

@Override
public void start(Stage stage) {        
    GridPane gridPane = new GridPane();

    int ySize = 5;
    int xSize = 5;

    int imageSize = 25;

    for(int i=0 ; i<ySize ; i++) {
        for(int j=0 ; j<xSize ; j++) {
            ImageView imageView = new ImageView(new Image(getClass().getResourceAsStream("path.png")));
            imageView.setFitWidth(imageSize);
            imageView.setFitHeight(imageSize);
            Label label = new Label();
            label.setGraphic(imageView);        
            gridPane.add(label, i, j);
        }
    }

    stage.setScene(new Scene(gridPane));

    stage.show();
}

输出看起来不错:

enter image description here

但是,如果imageSize变小,例如10,则行之间会出现水平间距:

enter image description here

有什么办法可以删除?我尝试设置标签大小为max-properties:

label.setMaxHeight(imageSize);
label.setMaxWidth(imageSize);

无效。

有什么方法可以消除间距?是因为图片是.png图片吗? 谢谢

0 个答案:

没有答案