gpt4 book ai didi

java - 将图像放入 JavaFX 2 表中

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:15 25 4
gpt4 key购买 nike

我正在尝试做一些非常简单的事情。我想在表中特定行的列中放置一个图标。如果是文件夹,则显示文件夹图标。如果是文件,则显示文件图标。

有谁知道如何在 JavaFX 2 中执行此操作?

我已经尝试了很多东西,这看起来应该很简单或者至少是某处的一个例子。

最佳答案

好吧,我有一个巨大的虚拟时刻。结果是我的图片 url 路径错误。

我确实找到了一个网站,该网站提供了一个很好的为表格添加元素的示例。这帮助我理解了一切。

现在,我之前尝试过的 4 种不同方法是否有效,我不知道,因为我的图片 url 路径是错误的。但无论如何,这是链接和代码片段。

底线是您需要有 CellValueFactoryCellFactory。我试图使用或。 TableCell 中的 updateItem 模板方法依赖于从 CellValueFactory 派生的值。

http://blog.ngopal.com.np/2011/10/01/tableview-cell-modifiy-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;
}

});

关于java - 将图像放入 JavaFX 2 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16341583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com