Icon,Imagelcon(图标)

1.文字图标

package com.jia.lesson;

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

public class IconDemo extends JFrame implements Icon {

    private int width;
    private int height;

    public IconDemo() {
    }

    public IconDemo(int width, int height) {
        this.width = width;
        this.height = height;
    }

    public void init() {
        IconDemo iconDemo = new IconDemo(15,15);
        //图标放在标签,也可以放在按钮上
        JLabel label = new JLabel("icontest", iconDemo, SwingConstants.CENTER);
        Container container =this.getContentPane();
        container.add(label);

        this.setVisible(true);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

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

    }

    @Override
    public int getIconWidth() {
        return this.width;
    }

    @Override
    public int getIconHeight() {
        return this.height;
    }

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

2.图片图标

注意问题:

图片添加后显示空指针,此时重启idea就好了

package com.jia.lesson;

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

public class ImageIconDemo extends JFrame{


    //构造器
    public ImageIconDemo() {
        //获取图片的地址,图片和代码在同级目录
        JLabel label = new JLabel("ImageIcon");
        URL url=ImageIconDemo.class.getResource("dsBuffer.jpg");

        ImageIcon imageIcon = new ImageIcon(url);
        label.setIcon(imageIcon);
        label.setHorizontalAlignment(SwingConstants.CENTER);

        Container container =getContentPane();
        container.add(label);

        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    //主程序
    public static void main(String[] args) {
        new ImageIconDemo();
    }

}

上一篇:Flutter入门——往项目的Android模块导入icon图标和设置启动加载界面


下一篇:基于JsPlumb设计的Web拓扑图编辑器