首页 > 编程笔记 > Java笔记 阅读:13

Java Swing ImageIcon图标类的用法(附带实例)

在 Swing 程序设计中,图标经常被添加到标签、按钮等组件上,使用 javax.swing.ImageIcon 类可以依据现有的图片创建图标。

ImageIcon 类实现了 Icon 接口,它有多个构造方法,常用的如下:
【实例】在窗体中演示图标。创建 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 文件)所在的完整路径。

相关文章