在Swing中显示文本或提示信息的方法时使用标签(JLabel),它本支持文本字符串和图标,在应用程序界面中,一个简短的文本标签可以使用户知道这些组件的目的,所以标签在Swing中是比较常用的组件,下面将讲解Swing标签的用法、如何创建标签,以及如何在标签上放置文本与图标

JLabel标签组件

标签由JLabel类定义,它的父类为JComponent类。

标签可以显示一行只读文本、一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单地显示文本和图片,但是可以使用标签的特性指定标签上文本的对齐方式,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对象,并设置标签内容水平对齐方式;

例如,下面的例子中会讲解JLabel标签组件常用的用法,代码如下:

import java.awt.Color;
import java.awt.Container;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;

public class Demo extends JFrame {
	public Demo() {
		Container ct = getContentPane();
		//设置标签的文本内容
		JLabel jl = new JLabel("这是一个标签");
		//设置标签的字体颜色
		jl.setForeground(new Color(0,102,153));
		//设置标签的字体、样式、大小
		jl.setFont(new Font("宋体",Font.BOLD,13));
		//设置标签的位置及大小
		jl.setBounds(0,0,194,29);
		//将组件添加到容器
		ct.add(jl);
		setBounds(200, 200, 200, 200);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
	}
	public static void main(String[] args) {
		new Demo();
	}
}

返回结果:

java tag 标签 java标签组件_java tag 标签

图标的使用

Swing中的图标可以放置在标签、按钮等组件上,用于描述组件的用途,图标可以用java支持图片文件类型进行创建,也可以使用java.awt.Graphice类提供的功能方法来创建,Swing可以利用javax.swing.ImageIcon类根据现有图片创建图标,ImageIcon类实现了Icon接口,同时java支持多种图片格式。ImageIcon类有多个构造放,下面是其中几个常用的构造方法:

  • public ImageIcon():该构造方法创建一个通用的ImageIcon对象,当真正需要设置图片时在使用ImageIcon对象调用setImage(Image image)方法来操作;
  • public ImageIcon(Image image):可以直接从图片源创建图标;
  • public ImageIcon(Image image,String description):除了可以从图片源创建图标外,还可以为这个图片添加简短的描述,但这个描述不会再图标上显示,可以使用getDescription()方法获取这个描述;
  • public ImageIcon(URL url):该构造方法利用位于计算机网络上的图形文件创建图标;

下面来看一个创建图片图标的实例。代码如下:

import java.awt.Container;
import java.net.URL;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

public class Demo extends JFrame {
	public Demo() {
		Container container = getContentPane();
		//创建一个标签
		JLabel jl = new JLabel("这是一个JFrame窗体", JLabel.CENTER);
		//获取图片所在的URL
		Icon icon = new ImageIcon("src/1.png"); 		//创建Icon对象
		jl.setIcon(icon); 						//为标签设置图片
		//设置文字放置在标签中间
		jl.setHorizontalAlignment(SwingConstants.CENTER);
		jl.setOpaque(true); 					//设置标签为不透明状态
		container.add(jl); 						//将标签添加到容器中
		setSize(500, 500); 						//设置窗体大小
		setVisible(true); 						//使窗体可见
		//设置窗体关闭模式
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
	public static void main(String args[]) {
		new Demo(); 						//创建MyImageIcon对象
	}
}

返回结果:

java tag 标签 java标签组件_Swing_02