package lesson04;
import javax.swing.*;
import java.awt.*;
public class IconDemo extends JFrame implements Icon {
private int width;
private int height;
public IconDemo(int width,int height) {
this.height = height;
this.width = width;
}
public IconDemo(){}
public void init (){
IconDemo iconDemo = new IconDemo(10,10);
//图标不仅可以放在标签上还可以放在按钮上
JLabel jLabel = new JLabel("你好啊",iconDemo,SwingConstants.CENTER);
Container contentPane = getContentPane();
contentPane.add(jLabel);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.pack();
}
public static void main(String[] args) {
new IconDemo(10,10).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;
}
}
![](https://img-blog.csdnimg.cn/dee8147584c54be5b8b802902335035c.png)
.插入图片
package lesson04;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class ImageIconDemo extends JFrame{
public ImageIconDemo() {
//获取图片位置
URL url = ImageIconDemo.class.getResource("资金.png");
JLabel label = new JLabel("ImageIcon");
ImageIcon imageIcon = new ImageIcon(url);
label.setIcon(imageIcon);
label.setHorizontalAlignment(SwingConstants.CENTER);
Container contentPane = getContentPane();
contentPane.add(label);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
pack();
}
public static void main(String[] args) {
new ImageIconDemo();
}
}
![](https://img-blog.csdnimg.cn/af73e80412004ebbb6206c6137780c5b.png)