当前位置: 首页 > 面试题库 >

将图像放入JavaFX 2表

苏宏逸
2023-03-14
问题内容

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

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

我已经尝试了很多事情,这似乎应该很简单,或者至少是某个地方的例子。


问题答案:

好吧,我有一个巨大的假时刻。原来我的图片网址路径错误。

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

现在,如果我尝试过的4种不同方法都能奏效,我不知道是因为我的图像URL路径错误。但是无论如何,这里是链接和代码片段。

最重要的是,您需要具有CellValueFactoryCellFactory。我正在尝试使用或。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;
    }

});


 类似资料:
  • 我创建了一个可以将图像导入标签的Swing应用程序,但我想做的是将导入的图像放入一个内部框架中,该框架将在图像删除后创建。 将图像放入Java应用程序 创建一个内部框架 使图像出现在内部框架中,而不是标签出现在JFrame中

  • 问题内容: 我试图在下拉列表中插入图像。我尝试了以下代码,但无法正常工作。实现此目标的最佳方法是什么? 问题答案: 此代码仅在Firefox中有效: 编辑(2018年4月): Firefox不再支持此功能。

  • 我可以在Apache POI中为单元格设置超链接,但我不知道如何将超链接放入图像中(我正在使用XSSF) 以下是放置单元格超链接的功能: 下面是将图像放入指定单元格的函数: = 提前感谢!

  • 问题内容: 我想在我的html代码中的复选框和单选框的背景上放置一个图像,但是它不起作用,但是可以在其他表单属性上起作用。 问题答案: 我找到了如何使用纯CSS 将图像提供给 复选框 和 单选 按钮的方法。 HTML CSS

  • 我希望将一个图像从我的桌面拖放到我的JPanel/Jframe上,然后能够将该图像存储到一个BufferedImage对象中,并对其执行id喜欢的操作 有没有办法用MouseListener做到这一点? 这是一个虚构的完美世界的例子,我可以在其中做到这一点 我希望你能明白。不是在寻找超复杂的东西。我是个笨蛋,尽量简单谢谢:)

  • 我有一个无法解决的问题... 我有一个自定义的imageview,它会根据更大的尺寸改变大小——包含该视图的布局的宽度或高度。它的工作方式总是适合布局。 它的布局是这样的: 我正在努力实现的是,我有尺寸为1000x1000px的原始地图。在这张地图上,我有一些点。我必须在Android上显示这张地图,并在与原始地图相同的点上添加其他视图。 所以举个例子: > 原始地图为1000x1000px 我用