第13章 Swing程序设计----标签组件与图标

在Swing中显示文本或提示信息的方法是使用标签。本节将探讨Swing标签的用法、如何创建标签,以及如何在标签上放置文本和图标

1、标签的使用

标签可以显示一行只读文本、一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单地显示文本和图片,但是可以使用标签的特性制定标签上文本的对齐方式。

标签由JLabel类定义,JLabel类提供了多种构造方法,可以创造多种标签:

public JLabel():创建一个不带图标和文本的JLabel对象;

public JLabel(Icon icon):创建一个带图标的JLabel对象 ;

public JLabel(Icon icon,int aligment):创建一个带图标的JLabel对象,并设置图标水平对齐方式;

public JLabel(String text,int aligment):创建一个带文本的JLabel对象,并设置文字水平对齐方式;

public JLabel(String text,Icon icon,int aligment):创建一个带文本、带图标的JLabel对象,并设置标签内部的水平对其格式。

2、图标的使用

 在Swing中通过Icon接口来创建图标,可以在创建时给定图标的大小,颜色等特性。如果使用Icon接口,必须实现Icon接口中的3个方法:

1 public int getIconHeight();
2 public int getIconWidth();
3 public void paintIcon(Component arg(),Graphics arg1,int arg2,int arg3);//paintIcon()方法实现在指定坐标位置画图
 1 import java.awt.Component;
 2 import java.awt.Container;
 3 import java.awt.Graphics;
 4 
 5 import javax.swing.Icon;
 6 import javax.swing.JFrame;
 7 import javax.swing.JLabel;
 8 import javax.swing.SwingConstants;
 9 import javax.swing.WindowConstants;
10 
11 public class DrawIcon implements Icon {  //实现Icon接口
12     private int width; //声明图标的宽
13     private int height;//声明图标的长
14     public int getIconHeight(){  //实现getIconHeight()方法
15         return this.height;
16     }
17     public int getIconWidth(){  //实现getIconWidth()方法啊
18         return this.width;
19     }
20     public DrawIcon(int width,int height){//定义构造方法
21         this.width=width;
22         this.height=height;
23     }
24     //试下安paintIcon()方法
25     public void paintIcon(Component arg0, Graphics arg1,int x, int y){
26         arg1.fillOval(x, y, width, height);
27     }
28     public static void main(String[] args){
29         DrawIcon icon=new DrawIcon(15,15);        
30         JLabel j=new JLabel("测试",icon,SwingConstants.CENTER); //创建一个标签,并设置标签上的文字在标签正中间
31         
32         JFrame jf=new JFrame();//创建一个JFrame窗口
33         Container c=jf.getContentPane();
34         
35         c.add(j);
36         jf.setSize(100,100);
37         jf.setVisible(true);
38         jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
39         
40     }
41 }

思路:一般情况下将图标放置在按钮或标签上,这里将图标放置在标签上,然后将标签添加到容器中,这样就实现了在窗体中使用图标的功能。

3、图标也可以是图标                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

                                                                                                                                                                                                                                                                                                        

 

原文地址:https://www.cnblogs.com/chamie/p/4700834.html