Java 更改ImageIcon的大小

Java 更改ImageIcon的大小,java,swing,jtable,imageicon,Java,Swing,Jtable,Imageicon,我有一张表格。在我的Jtable(第一列)中,我设法将一个图像从我的目录路径存储导入到一个文本文件中 model.addRow(new Object[]{ new ImageIcon(value[1]), value[2], value[0], value[3],

我有一张表格。在我的Jtable(第一列)中,我设法将一个图像从我的目录路径存储导入到一个文本文件中

model.addRow(new Object[]{
                        new ImageIcon(value[1]),
                        value[2],
                        value[0],
                        value[3],
                        value[4], 
                        });
但是图像大小太大,它只能在表列的有限空间中显示部分图像


如何将图像大小调整为高度=100,宽度=100。

首先加载图像,然后执行以下操作

Image scaledIm = orignalIm.getScaledInstance(100, 100, Image.SCALE_SMOOTH);
ImageIcon icon = new ImageIcon(scaledIm);

或者使用另一个渲染提示值

首先加载图像,然后执行以下操作

Image scaledIm = orignalIm.getScaledInstance(100, 100, Image.SCALE_SMOOTH);
ImageIcon icon = new ImageIcon(scaledIm);

或者使用另一个渲染提示值来调整图标的大小并不简单。您需要使用Java的二维图形来缩放图像

private Image getScaledImage(Image srcImg, int w, int h){
BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = resizedImg.createGraphics();
    g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    g2.drawImage(srcImg, 0, 0, w, h, null);
    g2.dispose();

    return resizedImg;
    }

调整图标的大小并不简单。您需要使用Java的二维图形来缩放图像

private Image getScaledImage(Image srcImg, int w, int h){
BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = resizedImg.createGraphics();
    g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    g2.drawImage(srcImg, 0, 0, w, h, null);
    g2.dispose();

    return resizedImg;
    }

第一个参数是一个图像类,您可以很容易地从ImageIcon类获得它。您可以使用ImageIcon类加载图像文件,然后简单地调用getter方法来获取图像。第一个参数是一个图像类,您可以从ImageIcon类轻松获取该类。您可以使用ImageIcon类加载图像文件,然后简单地调用getter方法来获取图像。