前言
上一篇我们共同学习了JDialog弹窗本篇我们将来学习Jlable标签中的图标。
一、Jlable标签
本篇我们将来学习Jlabel标签中的自定义图标Icon和图片图标ImageIcon。
二、代码示例
1.图标Icon
代码如下(示例):
IconDemo类
public class IconDemo extends JFrame implements Icon {
private int width;
private int height;
//无参构造
public IconDemo(){}
//有参构造
public IconDemo(int width,int height){
this.height = height;
this.width = width;
}
public void init(){
IconDemo iconDemo = new IconDemo(15, 15);
JLabel jLable = new JLabel("icontest", iconDemo, SwingConstants.CENTER);
Container container = getContentPane();
container.add(jLable);
this.setBounds(100,100,200,200);
this.setVisible(true);
}
public static void main(String[] args) {
new IconDemo().init();
}
@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;
}
}
运行结果:
2.图片图标Icon
代码如下(示例):
ImageIconDemo类
public class ImageIconDemo extends JFrame{
public ImageIconDemo(){
//获得图片地址
JLabel jLabel = new JLabel("ImageIcon");
URL url = ImageIconDemo.class.getResource("/文明养犬.png");
ImageIcon imageIcon = new ImageIcon(url);
jLabel.setIcon(imageIcon);
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
Container container = getContentPane();
container.add(jLabel);
setBounds(100,100,200,200);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ImageIconDemo();
}
}
运行结果: