java Icon图标如何使用?GUI的如何设置?

BSO 2020-09-07 14:04:45 java常见问答 6729

在日常的工作中,总是会遇到各种各样的关于java的问题,我们在发现问题的过程中也在解决它们,从而收获更多的知识。今天为大家介绍一下,在java中icon图标的使用方法以及GUI的设置。

首先,我们需要知道的是,一般在Swing中通过Icon接口来创建图标,可以在创建的时候指定图标的大小、颜色等特性。

实现Icon接口的三个方法:

①public int getIconHeight(); //设置图标的长;

②public int getIconWidth(); //设置图标的宽;

③public void paintIcon(Component arg0, Graphics arg1, int arg2, int arg3) ; //实现在指定位置坐标画图。

同样地,也可以用图片的方式来代替图标,简单易懂,并且可以对图片进行诸多设置,如:大小、位置等等。代码展示如下:

import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
public class t2 implements Icon
{
    private static final JFrame jframe = new JFrame(); //创建一个窗体
    private static final Box base = Box.createVerticalBox(); //设置盒子,用来存放 jlabel 标签
    private static final Box box1 = Box.createHorizontalBox();
    private static final Box box2 = Box.createHorizontalBox();
    private int height; //图标的高
    private int width; //图标的宽
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        //方法一:自己绘制图形
        t2 icon = new t2(20, 20);
        //方法二:自己添加图标
        ImageIcon image = new ImageIcon("E:\\下载\\图标.jpg"); //设置图片的来源路径(图片的URL)
        image.setImage(image.getImage()
            .getScaledInstance(100, 100, 100)); //设置图片大小
        jframe.setTitle("实现Icon组件窗体"); //设置窗体标题
        jframe.setBounds(600, 600, 600, 600); //设置窗体大小
        jframe.setBackground(Color.WHITE); //设置窗体背景颜色
        jframe.setVisible(true); //设置窗体可见性
        JLabel jlabel = new JLabel("标签内容", icon, SwingConstants.CENTER); //创建一个标签用于存放图标icon
        JLabel jlabel2 = new JLabel();
        //jlabel.setHorizontalAlignment(SwingConstants.CENTER);//设置标签内容水平对齐
        //jlabel.setVerticalAlignment(SwingConstants.CENTER);//设置标签内容垂直对齐
        jlabel2.setIcon(image); //将图片添加到标签中
        box1.add(jlabel);
        box2.add(jlabel2);
        base.add(box1);
        base.add(box2);
        jframe.add(base);
        jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗体默认关闭方式
    }
    public t2(int weight, int height)
    { //定义 t2  的构造方法
        this.width = weight;
        this.height = height;
    }
    @Override
    public int getIconHeight()
    {
        // TODO Auto-generated method stub
        return this.height;
    }
    @Override
    public int getIconWidth()
    {
        // TODO Auto-generated method stub
        return this.width;
    }
    @Override
    public void paintIcon(Component arg0, Graphics arg1, int x, int y)
    {
        // TODO Auto-generated method stub
        arg1.fillOval(x, y, width, height); //绘制一个圆形
        arg1.setColor(Color.GREEN); ///设置圆形的颜色为绿色
    }
}

代码运行效果图如下所示:

java中Icon的使用

接下来再说一下GUI的设置,首先介绍一些基本知识。

ImageIcon是Icon接口的一个实现类。ImageIcon类的构造函数:

1.ImageIcon();

2.ImageIcon(String filename)//本地图片文件;

3.ImageIcon(URL location)//网络图片;

4.ImageIcon(byte[] imageData);

5.ImageIcon(Image image)//Image是一个抽象类;

ImageIcon类的常用方法:

1.setImage(Image image);

2.getImage() //返回值是Image类型;

ImageIcon实现的是:

⑴ 设置JLabe、JButton的图标,代码展示如下:

 ImageIcon imageIcon = new ImageIcon("./image/1.png");
 JLabel label1 = new JLabel(imageIcon);
 JLabel label2 = new JLabel("test", imageIcon, SwingConstants.CENTER);
 JButton button1 = new JButton(imageIcon);
 JButton button2 = new JButton("提交", imageIcon);

./表示项目的根目录。

⑵设置程序左上角的图标,代码展示如下:

 ImageIcon imageIcon = new ImageIcon("./image/1.png");
 frame.setIconImage(imageIcon.getImage());
 /*
       参数是Image抽象类的对象。ImageIcon实现的是Icon接口 ,并没有实现Image抽象类。
        需要使用getImage()获取Image对象    
         */

JFrame、JDialog均可使用此种方式设置窗口左上角的图标。

此图标就是程序在任务栏显示的图标。

以上就是关于java icon图标的使用方法以及GUI设置步骤。想要了解更多java常见问题,敬请关注奇Q工具网。

推荐阅读:

java接口的实现方式,实例分享

Java接口(Interface)的定义,java实现接口详细介绍

Java接口(Interface)的定义,java定义接口详细介绍