java - JLabel + 图片

标签 java image swing icons jlabel

我正在使用命令 .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);

enter image description here

关于java - JLabel + 图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33326382/

相关文章:

css - :hover picture swap isn't working

java - 我需要帮助使用 Jbutton ActionListener 在 java 中将图像图标移动到屏幕上

java - 重置 JComboBox 的值

java - JAXB 未解码子对象@XmlIDREF

java - JMS客户端如何通知新消息

image - 使用 script-fu gimp 调整图像大小

python-3.x - 如何从段落python docx获取图像(inlineshape)

java - 当我使用运行文件进行测试时,NetBeans GUI 设计表现不一致

java - 表达式语言中的日历对象

java - 查看库存而不进行编辑