//这是我自己的包
package GUI;//导入必要的包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;//继承Icon图标这个接口要实现里面的所有抽象方法
public class TestDemo extends JFrame implements Icon{
private int width;
private int height;//构造器 一个无参 一个有参数//没参数的给实例化这个类使用
public TestDemo(){}//有参数的给实例化一个图标使用
public TestDemo(int width,int height){
this.width = width;
this.height = height;}//这是一个方法
public voidinit(){//设置大小可见性setBounds(300,300,100,100);setVisible(true);//初始化图标,设置图标大小
Icon TestDemo1 = new TestDemo(15,15);//图标可以放在标签上,也可以放在按钮上
JLabel jlabel = new JLabel("ICON",TestDemo1,SwingConstants.CENTER);//得到容器
Container container =getContentPane();//将标签添加到容器上
container.add(jlabel);}
public staticvoidmain(String[] args){
new TestDemo().init();}
@Override //实现图标必要的方法 这是画一个什么图
public voidpaintIcon(Component c, Graphics g,int x,int y){// TODO Auto-generated method stub
g.fillOval(x, y, this.width,this.height);}
@Override
public intgetIconWidth(){// TODO Auto-generated method stubreturn this.width;}
@Override
public intgetIconHeight(){// TODO Auto-generated method stubreturn this.height;}}
二、图片图标的使用
//这是我自己的包
package GUI;//导入必要的包
import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import javax.swing.*;
public class TestDemo extends JFrame {
public TestDemo(){//新建一个标签
JLabel jlabel = new JLabel();//新建一个URL地址 得到这个图片的地址 一定要放在包下
URL url = TestDemo.class.getResource("keai.jpg");//这个图片图标将会去找到这个
ImageIcon imageicon = new ImageIcon(url);//添加到jlabel上
jlabel.setIcon(imageicon);//设置居中
jlabel.setHorizontalAlignment(SwingConstants.CENTER);//得到容器
Container container =getContentPane();//将标签添加到容器上
container.add(jlabel);//设置位置大小 可见性setBounds(300,300,400,400);setVisible(true);}
public staticvoidmain(String[] args){
new TestDemo();}}