在javafx tableview中看不到整个文件图标

时间:2015-06-08 17:14:37

标签: java javafx tableview imageicon

我有一个JavaFX tableview,其中列出了文件及其属性,包括文件的ICON。我的问题是缺少图标的一部分。

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

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 /问题/ 28034432 /

0 个答案:

没有答案