2017-03-09 10 views
0

GridView를 사용하여 프로젝트에서보기를 구성하고 있습니다. GridView에서 레이블과 이미지가있는 항목을 사용하고 싶습니다. 하지만 적어도 두 장의 그림을 추가 할 때 이미지가 겹쳐졌습니다. 왜 그런지 모르겠습니다.ControlsFx의 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

이미지가 간단히 설정할 수 있습니다 동일한 크기의 셀 너비의 모든 경우와 높이 :

albumsList.cellWidthProperty().set(YOUR_IMAGE_WIDTH) 
albumsList.cellHeightProperty().set(YOUR_IMAGE_HEIGHT) 

여기서 "albumsList"는 물론 gridView입니다 (fx : id you spec ified).

그들은 당신이 최대의 폭과 가장 높은

+0

의 높이를 사용해야 할 것 같아요 모두 같은 크기하지 않은 경우 그것은이하는 일이지만 크기가 주어진 그림보다 작은 perfect.When하지, 여전히 겹쳐있다. –

+0

나는 모든 이미지의 크기를 알고 계신지 잘 모르겠다. 그렇다면 각각의 크기를 포함 할만큼 큰 크기를 사용할 수 있습니다. – negste

+0

예, 크기는 제한되어 있습니다. 나는 그것이 gei 때 이미지의 크기를 조정할 수있을 것 같아요. 나는 그것을 시도 할 것이다. –