整个文件图标在javafx tableview中不可见

问题描述 投票:0回答:1

我有一个 JavaFX 表格视图,在其中列出文件及其属性,包括文件的图标。我的问题是图标的一部分丢失了。

我不知道如何完整地描述它,所以我在下面添加了一张图片。

enter image description here

我的桌面视图在右侧,Windows 资源管理器在左侧。

这是代码:

@Override
public void updateItem(ImageIcon imageIcon, boolean empty){
    if (imageIcon != null){
        // I have tried adding minimum width and height too
        HBox box= new HBox();

        // JavaFX scene imageview
        ImageView imageView = new ImageView();
        // Have tried with and without setFitHeight
        imageView.setFitHeight(16);
        imageView.setFitWidth(16);

        // This line prints: 16 16
        System.out.println(imageIcon.getIconWidth() + " " + imageIcon.getIconHeight());

        // Create BufferedImage of the imageicon
        BufferedImage bi = new BufferedImage(
                imageIcon.getIconWidth(),
                imageIcon.getIconHeight(),
                BufferedImage.TYPE_INT_ARGB);
        Graphics g = bi.createGraphics();

        imageIcon.paintIcon(null, g, 0, 0);
        g.dispose();

        // BufferedImage to fxImage
        Image fxImage = SwingFXUtils.toFXImage(bi, null);

        imageView.setImage(fxImage);

        box.getChildren().addAll(imageView);
        setGraphic(box);
    }
}

谢谢。

更新

我又谷歌了一些,我直接复制了一个示例并粘贴到一个新项目中,图标也发生了同样的事情。在这个例子中,用户可能通过判断图标的外观来使用Windows 7,所以也许这就是它在Windows 8中的样子。这是底部答案中带有图片的代码:www.stackoverflow。 com/questions/28034432/

java javafx tableview imageicon
1个回答
0
投票

检查填充:将单元格和行填充设置为零! 如果这不起作用,请缩放图像视图并确保它适合行高!

© www.soinside.com 2019 - 2024. All rights reserved.