好吧,我有一个巨大的假时刻。原来我的图片网址路径错误。
我确实找到了一个网站,该网站提供了为表添加元素的绝佳示例。这帮助我了解了一切。
现在,如果我尝试过的4种不同方法都能奏效,我不知道是因为我的图像URL路径错误。但是无论如何,这里是链接和代码片段。
最重要的是,您需要具有
CellValueFactory和
CellFactory。我正在尝试使用或。
updateItemTableCell中的模板方法依赖于衍生的值
CellValueFactory。
http://blog.ngopal.com.np/2011/10/01/tableview-cell-modifiyy-in-
javafx/
TableColumn albumArt = new TableColumn("Album Art"); albumArt.setCellValueFactory(new PropertyValueFactory("album")); albumArt.setPrefWidth(200); // SETTING THE CELL FACTORY FOR THE ALBUM ART albumArt.setCellFactory(new Callback<TableColumn<Music,Album>,TableCell<Music,Album>>(){ @Override public TableCell<Music, Album> call(TableColumn<Music, Album> param) { TableCell<Music, Album> cell = new TableCell<Music, Album>(){ @Override public void updateItem(Album item, boolean empty) { if(item!=null){ HBox box= new HBox(); box.setSpacing(10) ; VBox vbox = new VBox(); vbox.getChildren().add(new Label(item.getArtist())); vbox.getChildren().add(new Label(item.getAlbum())); ImageView imageview = new ImageView(); imageview.setFitHeight(50); imageview.setFitWidth(50); imageview.setImage(new Image(MusicTable.class.getResource("img").toString()+"/"+item.getFilename())); box.getChildren().addAll(imageview,vbox); //SETTING ALL THE GRAPHICS COMPonENT FOR CELL setGraphic(box); } } }; System.out.println(cell.getIndex()); return cell; }});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)