在日常的工作中,总是会遇到各种各样的关于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); ///设置圆形的颜色为绿色 } }
代码运行效果图如下所示:
接下来再说一下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工具网。
推荐阅读: