标签组件
在Swing组件中,除了有用于输入功能的文本组件外,还提供了用于仅供展示的标签组件,标签组件也是Swing中很常见的组件。Swing中的标签组件主要用到的是JLabel,JLabel组件可以显示文本、图像,还可以设置标签内容的垂直和水平对齐方式。
JLabel标签组件类包括多个构造方法,如表1所示。
表1 Jlabel构造方法
方法声明 | 功能描述 |
---|---|
JLabel() | 创建无图像并且其标题为空字符串的JLabel |
JLabel(Icon image) | 创建具有指定图像的JLabel实例 |
JLabel(Icon image, int horizontalAlignment) | 创建具有指定图像和水平对齐方式的JLabel实例 |
JLabel(String text) | 创建具有指定文本的JLabel实例 |
JLabel(String text, Icon icon, int horizontalAlignment) | 创建具有指定文本、图像和水平对齐方式的 JLabel 实例 |
JLabel(String text, int horizontalAlignment) | 创建具有指定文本和水平对齐方式的 JLabel 实例 |
表1中列出了JLabel标签组件的全部构造方法,在使用JLabel组件时既可以通过不同的构造方法进行初始化设置,也可以通过JLabel组件的一些常用方法进行设置。
接下来通过一个案例来演示一下JLabel标签组件的基本用法,如文件1所示。
文件1 Example12.java
1 import java.awt.*;
2 import javax.swing.*;
3 public class Example12 {
4 private static void createAndShowGUI() {
5 // 1、创建一个JFrame容器窗口
6 JFrame f = new JFrame("JFrame窗口");
7 f.setLayout(new BorderLayout());
8 f.setSize(300, 200);
9 f.setLocation(300, 200);
10 f.setVisible(true);
11 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12 // 2、创建一个JLabel标签组件,用来展示图片
13 JLabel label1 = new JLabel();
14 // 2.1、创建一个ImageIcon图标组件,并加入JLabel中
15 ImageIcon icon = new ImageIcon("FruitStore.jpg");
16 Image img = icon.getImage();
17 // 2.2、用于设置图片大小尺寸
18 img = img.getScaledInstance(300, 150, Image.SCALE_DEFAULT);
19 icon.setImage(img);
20 label1.setIcon(icon);
21 // 3、创建一个页尾JPanel面板,并加入JLabel标签组件
22 JPanel panel = new JPanel();
23 JLabel label2 = new JLabel("欢迎进入水果超市",JLabel.CENTER);
24 panel.add(label2);
25 // 4、向JFrame聊天窗口容器的顶部和尾部分别加入JLabel和JPanel组件
26 f.add(label1, BorderLayout.PAGE_START);
27 f.add(panel, BorderLayout.PAGE_END);
28 }
29 public static void main(String[] args) {
30 // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
31 SwingUtilities.invokeLater(Example12::createAndShowGUI);
32 }
33 }
运行结果如图1所示。
图1 运行结果
文件1中,首先使用JFrame顶级容器创建并设置了一个容器窗口,同时通过BorderLayout布局管理器将窗口分为上下两个区域,并分别加入了JLabel标签组件和JPanel面板组件。其中,在JLabel标签组件中还加入了一个ImageIcon图标组件用来显示背景图片,而在JPanel组件中封装了一个JLabel标签组件,用来显示静态文字。