Icon
import javax.swing.*;
import java.awt.*;
public class IconTest extends JFrame implements Icon {
private int width;
private int height;
public IconTest(){}
public IconTest(int width,int height){
this.height = height;
this.width = width;
}
public void init(){
IconTest iconTest = new IconTest(150,150);
//图标可以放在标签上,也可以放在按钮上
JLabel label = new JLabel("icontest",iconTest,SwingConstants.CENTER);
Container container = getContentPane();
container.add(label);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new IconTest().init();
}
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
g.setColor(Color.PINK);
g.fillOval(x,y,width,height);
}
@Override
public int getIconWidth() {
return this.width;
}
@Override
public int getIconHeight() {
return this.height;
}
}
运行结果为:
ImageIcon
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class ImageIconTest extends JFrame {
public ImageIconTest(){
//获取图片的地址
JLabel label = new JLabel("ImageIcon");
URL url = ImageIconTest.class.getResource("lena.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);
setBounds(0,0,800,800);
}
public static void main(String[] args) {
new ImageIconTest();
}
}
运行结果为:
如果报错空指针异常,首先查看代码中导包、命名有没有问题;然后看图片是否放在与该java程序同一package下;如果还是不行,把out文件夹删掉重新编译运行一下,或者退出重开一下idea