我使用GridView在我的项目中构建视图。我想在GridView中使用带有标签和图像的项目。但是当我添加至少两张照片时,图像重叠了。我不知道为什么? 细胞代码如下:
public class AlbumCell extends GridCell<Album> {
ImageView img_cover;
Label ll_albumName;
@Override
protected void updateItem(Album item, boolean empty) {
// TODO Auto-generated method stub
super.updateItem(item, empty);
// create the view;
HBox box = new HBox();
img_cover = new ImageView();
ll_albumName = new Label();
if (empty) {
img_cover.setImage(new Image("Pic/bg.jpeg"));
ll_albumName.setText("相册名");
} else {
img_cover = new ImageView(item.getCoverUrl());
ll_albumName.setText(item.getAlbumName());
}
box.getChildren().addAll(img_cover, ll_albumName);
setGraphic(box);
}
}
我在fxml中使用GridView,如下所示:
<StackPane
GridPane.columnIndex="1" GridPane.columnSpan="3"
GridPane.rowIndex="1" GridPane.rowSpan="5">
<children>
<!-- prefHeight="309.0" prefWidth="425.0" -->
<GridView fx:id="albumsList" />
</children>
</StackPane>
答案 0 :(得分:0)
如果您的图像大小相同,则只需设置单元格宽度和高度:
albumsList.cellWidthProperty().set(YOUR_IMAGE_WIDTH)
albumsList.cellHeightProperty().set(YOUR_IMAGE_HEIGHT)
其中“albumsList”当然是gridView(你指定的fx:id)。
如果它们的大小不一样,我想你必须使用最大的宽度和最高的高度