Swing组件中URL方法获取 图标

13.3.2 图标的使用
1.创建图标
 1 package lll;
 2     import java.awt.*;
 3     import javax.swing.*;
 4     public  class DrawIcon implements Icon{
 5          private int width;
 6          private int height;
 7          public DrawIcon (int height,int width) {
 8              this.height=height;
 9              this.width=width;
10          }
11          public void paintIcon(Component arg0,Graphics arg1,int x,int y) {
12              arg1.fillOval(x, y, width,height); //绘制圆形
13          }
14          public int getIconHeight() {
15              return this.height;
16          }
17          public int getIconWidth() {
18              return this.width;
19          }
20          public static void main(String[] args) {
21             DrawIcon icon=new DrawIcon(150,150);
22             JLabel jl=new JLabel("测试",icon,SwingConstants.CENTER);
23             JFrame jf=new JFrame();
24             Container container= jf.getContentPane();
25             container.add(jl);
26             jf.setBackground(Color.BLUE);
27             jf.setVisible(true);
28             jf.setSize(340, 400);
29             jf.setTitle("李智博");
30             jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
31          }
32         
33         }
DrawIcon icon=new DrawIcon(15,15);
思想是将图标放置在按钮或者标签上,这里将图标放在了标签上,然后将标签添加到了容器中。实现了在窗体使用图标的功能
2.使用图片图标
Swing中的图标除了可以自己绘制之外,还可以使用某个特定的图pain创建。Swing利用javax.Swing.ImageIcon类根据现有图片创建图标,ImageIcon类实现了Icon接口,同时Java支持多种图片格式。
ImageIcon类的构造方法:
  • public ImageIcon(): 该构造方法创建一个通用的Imageicon对象,当真正需要设置图片时,用ImageIcon对象调用setImage(Image )方法来操作
  • public ImageIcon(Image image):可以直接从图片源创建图标。
  • public ImageIcon(Image image,String description):额外为图标增加了一个简短描述,该描述不会在图标上显示,可以使用getDescription()方法获取这个描述。
  • public ImageIcon(URL url):该构造方法利用位于计算机网络上的图像文件创建图标。
package lll;

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

public class MyImageIcon extends JFrame{
    public MyImageIcon() {
        Container c=getContentPane();
        JLabel jl=new JLabel("奥里给",JLabel.CENTER);
        URL url =MyImageIcon.class.getResource("225784fefc72f6f.jpg");
        Icon icon=new ImageIcon(url);  //实例化icon对象
        jl.setIcon(icon);
        jl.setHorizontalAlignment(SwingConstants.CENTER);
        //设置文字在标签中间
        jl.setOpaque(true);//标签为不透明状态
        c.add(jl);
        setSize(1000,1000);
        setVisible(true);
        //设置窗体关闭模式
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public static void main(String args[]) {
    new MyImageIcon();    
    }
        }

java.lang.Class类中的getResource()方法可以获取资源文件的URL路径。图片参数是225784fefc72f6f.jpg 这个路径是相对于MyImageIcon路径下的,可以将图片放在我的lll包里方便检索。
 
 
posted @ 2020-03-27 08:56  ZhiBo-Li  阅读(298)  评论(0编辑  收藏  举报