Swing之Icon、ImageIcon标签

Icon标签

这个是使用画笔画自己心怡的图标

示例:

package GUI.Swing;

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

// 图标,需要实现类,JFrame继承
public class TestIcon extends JFrame implements Icon {
     
    private int width;
    private int height;

    public TestIcon() throws HeadlessException {
     
    }

    public TestIcon(int width, int height) throws HeadlessException {
     
        this.width = width;
        this.height = height;
    }

    public void init() {
     
        TestIcon icon = new TestIcon(15, 15);
//        图标放在标签上,也可以放在按钮上
        JLabel jLabel = new JLabel("icontest", icon, SwingConstants.CENTER);
        Container container = getContentPane();
        container.add(jLabel);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
     
        new TestIcon().init();
    }

    @Override
    public void paintIcon(Component c, Graphics g, int x, int y) {
     
        g.fillOval(x, y, width, height);
    }

    //    获得图片的宽
    @Override
    public int getIconWidth() {
     
        return width;
    }

    //    获得图片的高
    @Override
    public int getIconHeight() {
     
        return height;
    }
}

运行结果:
Swing之Icon、ImageIcon标签_第1张图片

ImageIcon标签

使用图片当作图标

TestImageIcon.class.getResource("Images/boy.jpg");
这个代码的意思是获取当前类同一级文件路径的资源

示例:

package GUI.Swing;

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

public class TestImageIcon extends JFrame {
     
    public TestImageIcon() throws HeadlessException {
     
//        获取图片的地址
        URL url = TestImageIcon.class.getResource("Images/boy.jpg");// 这个代码的意思是获取当前类同一级文件路径的资源

        ImageIcon imageIcon = new ImageIcon(url);

        JLabel jLabel = new JLabel("ImageIcon");
        jLabel.setIcon(imageIcon);
        jLabel.setHorizontalAlignment(SwingConstants.CENTER);
        Container container = getContentPane();
        container.add(jLabel);

        setVisible(true);
        setBounds(100, 100, 500, 500);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
     
        new TestImageIcon();
    }
}

运行结果:
Swing之Icon、ImageIcon标签_第2张图片

你可能感兴趣的:(Java,swing)