图标的使用

1.创建图标
在Swing中通过Icon接口来创建图标,可以在创建的时候给定图标的大小、颜色等特性。如果使用Icon接口,必须实现Icon接口的3个方法。
public int getIconWidth()获取图标的宽
public int getIconHeigth()获取图标的高
public void paintIcon(Component arg0, Graphics arg2, int arg3)用于实现在指定的坐标位置画图

import javax.swing.*;//实现Icon接口
import java.awt.*;


public class DrawIcon implements Icon {
    private int width;
    private int height;

    public DrawIcon(int width, int height)//定义构造方法
    {
        this.width = width;
        this.height = height;
    }

    public int getIconWidth()//图标的宽
    {
        return this.width;
    }
    public  int getIconHeight()//图标的高
    {
        return this.height;
    }
    public void paintIcon(Component arg0, Graphics arg1, int x, int y)//绘制一个圆
    {
        arg1.fillOval(x, y, width, height);
    }

    public static void main(String []args)
    {
        DrawIcon icon = new DrawIcon(15, 15);
        //创建一个标签,并设置标签上的文字在标签中央
        JLabel jl = new JLabel("测试", icon, SwingConstants.CENTER);
        JFrame jf = new JFrame();
        Container container = jf.getContentPane();

       // jl.setHorizontalAlignment(SwingConstants.CENTER);//使标签上的文字居中

        container.add(jl);//标签加入容器中
        container.setBackground(Color.white);//设置容器的背景

        jf.setVisible(true);//使窗体可见
        jf.setSize(200, 150);//窗体大小

        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体的关闭方式
    }
}

2.使用图片图标
Swing中的图标除了可以绘制外,还可以使用某个特定的图片创建。Swing利用javax.swing.ImageIcon类根据现有的图片创建图标。ImageIcon类实现了Icon的接口,同时支持多种图片格式。
常用的构造方法:
public ImageIcon()创建一个通用的ImageIcon对象,当真正使用图片时在使用ImageIcon对象调用setImage(Image image)来创建图标
public ImageIcon(Image image)可以直接从图片创建图标
public ImageIcon(Image image, Strign description)用图片创建图标时可以为图标添加简短的描述。可以使用getDescription()方法来获得这个描述。
public ImageIcon(URL url)该构造方法利用位于计算机网络上的图像文件创建图标

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

public class MyImageIcon extends JFrame {
    public MyImageIcon() {
        Container container = new Container();
//创建一个标签
        JLabel jl = new JLabel("this is a JFrame.", JLabel.CENTER);
        URL url = MyImageIcon.class.getResource("imageButton.jpg");//获取图片所在的URL

        Icon icon = new ImageIcon(url);//实例化Icon对象

        jl.setIcon(icon);//为标签设置图片
        jl.setHorizontalAlignment(SwingConstants.CENTER);//设置文字放在标签的中间
        jl.setOpaque(true);//设置标签为不透明状态

        container.add(jl);

        setSize(250, 100);
        setVisible(true);

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体的关闭方式
    }
    public static void main(String []args)
    {
        new MyImageIcon();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值