Java Swing ImageIcon图标类的用法(附带实例)
在 Swing 程序设计中,图标经常被添加到标签、按钮等组件上,使用 javax.swing.ImageIcon 类可以依据现有的图片创建图标。
ImageIcon 类实现了 Icon 接口,它有多个构造方法,常用的如下:
【实例】在窗体中演示图标。创建 MyImageIcon 类,并继承 JFrame 类。首先在 MyImageIcon 类中创建 ImageIcon 对象,然后使用 ImageIcon 对象依据现有的图片创建图标,接着使用 public JLabel(String text, int aligment) 构造方法创建一个 JLabel 对象,最后使用 JLabel 对象调用 setIcon() 方法为标签设置图标。
	
图 1 使用图片文件创建图标
注意,java.lang.Class 类中的 getResource() 方法可以获取本类(编译后的 class 文件)所在的完整路径。
	
ImageIcon 类实现了 Icon 接口,它有多个构造方法,常用的如下:
- public ImageIcon():创建一个 ImageIcon 对象,然后使用其调用 setImage(Image image) 方法设置图片;
 - public ImageIcon(Image image):依据现有的图片创建图标;
 - public ImageIcon(URL url):依据现有图片的路径创建图标。
 
【实例】在窗体中演示图标。创建 MyImageIcon 类,并继承 JFrame 类。首先在 MyImageIcon 类中创建 ImageIcon 对象,然后使用 ImageIcon 对象依据现有的图片创建图标,接着使用 public JLabel(String text, int aligment) 构造方法创建一个 JLabel 对象,最后使用 JLabel 对象调用 setIcon() 方法为标签设置图标。
import java.awt.*;
import java.net.URL;
import javax.swing.*;
public class MyImageIcon extends JFrame {
    public MyImageIcon() {
        Container container = getContentPane();
        JLabel jl = new JLabel("这是一个 JFrame 窗体"); //创建标签
        URL url = MyImageIcon.class.getResource("pic.png"); //获取图片所在的 URL
        Icon icon = new ImageIcon(url); //获取图片的 Icon 对象
        jl.setIcon(icon); //为标签设置图片
        jl.setHorizontalAlignment(SwingConstants.CENTER); //设置文字放置在标签中间
        jl.setOpaque(true); //设置标签为不透明状态
        container.add(jl); //将标签添加到容器中
        setSize(300, 200); //设置窗体大小
        setVisible(true); //使窗体可见
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //关闭窗体则停止程序
    }
    public static void main(String args[]) {
        new MyImageIcon();
    }
}
运行结果如下图所示:
图 1 使用图片文件创建图标
注意,java.lang.Class 类中的 getResource() 方法可以获取本类(编译后的 class 文件)所在的完整路径。
相关文章
- Java Swing.JFrame的用法(附带实例)
 - Java Swing JDialog对话框的用法(附带实例)
 - Java Swing JOptionPane对话框用法详解(附带实例)
 - Java Swing FlowLayout布局管理器的用法(附带实例)
 - Java Swing BorderLayout布局管理器的用法(附带实例)
 - Java Swing JPanel和JScrollPane面板的用法(附带实例)
 - Java Swing JLabel标签的用法(附带实例)
 - Java Swing JButton按钮的用法(附带实例)
 - Java Swing JRadioButton单选按钮的用法(附带实例)
 - Java Swing JCheckBox复选框的用法(附带实例)
 
 ICP备案:
 公安联网备案: