我正在使用命令 .setIcon()
将图像应用到 JLabel,然后将标签添加到面板
public browser() throws IOException {
JLabel lblimg;
Image img;
ImageIcon ico;
img = ImageIO.read(new File("<FilePath>"));
ico = new ImageIcon(img);
lblimg.setIcon(ico);
lblimg.setBounds(300,90,120,120);
add(lblimg);
}
但这不会调整标签内图像的大小,如果图像大于标签大小,这样只会显示图像的一部分。
有谁知道将图像插入标签背景并调整图像大小的方法吗?
最佳答案
创建一个 BufferedImage 并获取缩放实例,将其宽度和高度设置为标签的宽度和高度。现在,即使您调整标签的大小,图像也会覆盖标签。
例如:lblimg.setBounds(300, 90, 300, 120);
BufferedImage bimg =ImageIO.read(new File("file path"));
ico = new ImageIcon(bimg.getScaledInstance(lblimg.getWidth(), lblimg.getHeight(), Image.SCALE_SMOOTH));
lblimg.setIcon(ico);
下图根据标签的宽高进行了缩放。
lblimg.setBounds(300, 90, 100, 50);
关于java - JLabel + 图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33326382/