ImageIcon 修改图片的大小

  • Post author:
  • Post category:其他




1、需求说明

在 java swing 中,JLabel 可以展示 静态icon。
有时,我们需要对 icon 的大小进行调整;
本文进行 imageIcon 大小调整的方法分享。
[注意]:
    JLabel 中直接支持的文件格式有限,主要为 jpg,jpeg,png,gif.
    如果需要展示其它格式的,本案例不适用,请勿在此浪费时间。



2、项目目录介绍

本项目是一个maven项目,各位coder可以根据自己的实际项目
由于icon资源是静态存放在项目目录下的,
因此各位coder请先熟悉我的案例项目结构,
然后再继续向下阅读!
Java-Swing-Demo
   | -- src
   		| -- main
   			| -- java
   				| -- com.xx.JavaSwingTest
   			| -- resources
   				| -- images
   					| -- a.png
   		| -- test
   | -- pom.xml



3、案例代码

import javax.swing.*;
import java.awt.*;
import java.net.URL;

public class JavaSwingTest {
    public static void main(String[] args) {
      
        // 1.加载原始的图片
        ClassLoader classLoader = JavaSwingTest.class.getClassLoader();
        URL imageURl = classLoader.getResource("images/a.png");
        ImageIcon imageIcon = new ImageIcon(imageURl);
        int iconWidth = imageIcon.getIconWidth();
        int iconHeight = imageIcon.getIconHeight();
        System.out.println("修改前 : width = "+iconWidth+" ; height = "+iconHeight);

        // 2.修改尺寸 , 宽=100;长=100
        Image newImage = imageIcon.getImage().getScaledInstance(100, 100, Image.SCALE_DEFAULT);
        ImageIcon imageIconNew = new ImageIcon(newImage);
        int iconWidthNew = imageIconNew.getIconWidth();
        int iconHeightNew = imageIconNew.getIconHeight();
        System.out.println("修改后 : width = "+iconWidthNew+" ; height = "+iconHeightNew);


        // 3.在窗口中展示出来
        JFrame jFrame = new JFrame("测试窗口");

        // 使用 JLabel 进行 icon 的展示
        JLabel jLabel1 = new JLabel("", imageIcon,JLabel.CENTER);
        JLabel jLabel2 = new JLabel("", imageIconNew,JLabel.CENTER);
        // 左右布局的box
        Box box = Box.createHorizontalBox();
        box.add(jLabel1);
        box.add(jLabel2);


        // box 放入主窗口中
        jFrame.add(box, BorderLayout.CENTER);

        // 主窗口的基本属性
        jFrame.setBounds(300,300,400,300);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}



4、运行结果


  • 控制台打印
修改前 : width = 200 ; height = 200
修改后 : width = 100 ; height = 100

  • 窗口展示


    在这里插入图片描述



5、完成

Congratulations! You are one step closer to your success!



版权声明:本文为qq_39505245原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。