JLabel标签显示文本内容

wen java案例 1

本文目录导读:

JLabel标签显示文本内容

  1. 基本文本显示
  2. 设置文本的多种方式
  3. 文本对齐方式
  4. 文本样式设置
  5. 完整示例:文本居中并带样式

在Java Swing中,JLabel 用于显示文本内容(可选择性地显示图标),以下是几种常用方法:

基本文本显示

import javax.swing.*;
public class JLabelExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("JLabel示例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        // 创建 JLabel 并设置文本
        JLabel label = new JLabel("Hello, World!");
        frame.add(label);
        frame.setVisible(true);
    }
}

设置文本的多种方式

// 方式1:构造时设置
JLabel label1 = new JLabel("初始文本");
// 方式2:使用 setText() 方法
JLabel label2 = new JLabel();
label2.setText("动态设置的文本");
// 方式3:使用 setText() 更新文本
label1.setText("更新后的文本");

文本对齐方式

// 创建标签并设置水平对齐
JLabel label = new JLabel("居中文本", SwingConstants.CENTER);
// 或使用 setHorizontalAlignment()
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setVerticalAlignment(SwingConstants.TOP);
// 常用的对齐常量:
// 水平:LEFT, CENTER, RIGHT, LEADING, TRAILING
// 垂直:TOP, CENTER, BOTTOM

文本样式设置

JLabel label = new JLabel("样式文本");
label.setFont(new Font("微软雅黑", Font.BOLD, 24)); // 字体、粗细、大小
label.setForeground(Color.RED); // 文字颜色
label.setBackground(Color.YELLOW); // 背景颜色
label.setOpaque(true); // 需要使背景颜色生效

完整示例:文本居中并带样式

import javax.swing.*;
import java.awt.*;
public class TextLabelDemo {
    public static void main(String[] args) {
        JFrame frame = new JFrame("文本标签示例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setLayout(new FlowLayout());
        // 创建带样式的标签
        JLabel label = new JLabel("这是居中显示的文本内容");
        label.setFont(new Font("Arial", Font.BOLD, 16));
        label.setForeground(Color.BLUE);
        label.setHorizontalAlignment(SwingConstants.CENTER);
        label.setPreferredSize(new Dimension(300, 50));
        frame.add(label);
        frame.setVisible(true);
    }
}

关键点:

  • JLabel 默认左对齐,可以通过 setHorizontalAlignment() 调整
  • setText() 可以随时更新显示的文本内容
  • 设置背景色时需要先调用 setOpaque(true)

抱歉,评论功能暂时关闭!