软件界面是软件和用户之间的交流平台,而组件则是绘制软件界面的基本元素,是软件和用户之间的交流要素。

一、概述

JLabel组件用来显示文本和图像,可以只显示其一种,也可以同时显示。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 标签组件​

普通方法

void setText("内容");//设置组件内容
void setForeground(Color c);//设置字体颜色
void setFont(Font font);//设置字体风格、大小
void setBorder(BorderFactory bf);//设置组件JLabel标签的边框线
void setPreferredSize(Dimension n);//设置标签的宽度和高度
void setHorizontalAlignment(JLabel.CENTER);//设置标签内的文本对齐方式
void setCursor(cursor);//设置当鼠标触碰标签时,鼠标的样式。
void setOpaque(true);//关闭透明度
void setBackground(Color.yellow);//设置背景,需要将透明度关闭
// 设置文本相对于图片的位置(文本默认在图片右边垂直居中)
void setHorizontalTextPosition(int textPosition)
void setVerticalTextPosition(int textPosition)
// 设置标签内容(在标签内)的对其方式(默认左对齐并垂直居中)
void setHorizontalAlignment(int alignment)
void setVerticalAlignment(int alignment)
void setIconTextGap(int iconTextGap)// 设置图片和文本之间的间隙
void setToolTipText(String text)// 当鼠标移动到组件上时显示的提示文本
void setVisible(boolean visible)// 设置组件是否可见
void setMinimumSize(Dimension minimumSize)// 设置组件的 最小 大小
void setMaximumSize(Dimension maximumSize)// 设置组件的 最大 大小

三、案例

实例1

package com.xx.demo.test;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;

import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class JLabelDemo extends JFrame{
	
	public JLabelDemo() {
		this.setTitle("JLabel");
		this.setSize(300, 200);
		this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		this.setLocationRelativeTo(null);
		//--------------------------------------------------------
		//1.中间组件JPanel
		JPanel jpa = new JPanel();
		//创建基础组件JLabel
		JLabel jla = new JLabel("我是标签");
		jla.setText("内容");//设置内容
		jla.setForeground(Color.red);//设置字体颜色
		jla.setPreferredSize(new Dimension(200, 100));//设置标签大小
		jla.setHorizontalAlignment(JLabel.CENTER);//设置内容居中对齐
		jla.setFont(new Font("宋体", Font.BOLD, 30));//设置字体大小
		jla.setBorder(BorderFactory.createLineBorder(Color.blue));//设置边框
		jla.setCursor(new Cursor(Cursor.HAND_CURSOR));//设置鼠标样式
		//设置背景,需要将透明度关闭
		jla.setOpaque(true);//关闭透明度
		jla.setBackground(Color.yellow);
		//3.向JPanel面板里添加一个JLabel基础组件标签
		jpa.add(jla);
		//2.将中间组件添加到窗体容器中
		this.getContentPane().add(jpa);
		this.setVisible(true);
	}
	
	public static void main(String[] args) {
		new JLabelDemo();
	}
}

 

 

实例2

package com.xx.demo.test;

import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Image;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;

public class JLabelDemo extends JFrame {

	public JLabelDemo() {
		this.setTitle("JLabel");
		this.setSize(300, 200);
		this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		this.setLocationRelativeTo(null);
		// --------------------------------------------------------
		// 1.中间组件JPanel
		JPanel jpa = new JPanel();
		// 创建基础组件JLabel
		JLabel jla = new JLabel(new ImageIcon(
				new ImageIcon("images\\1.jpg").getImage().getScaledInstance(200, 70, Image.SCALE_DEFAULT)));
		jla.setForeground(Color.red);// 设置字体颜色
		jla.setText("德玛西亚");
		jla.setHorizontalTextPosition(SwingConstants.CENTER); // 水平方向文本在图片中心
		jla.setVerticalTextPosition(SwingConstants.BOTTOM); // 垂直方向文本在图片下方
		jla.setPreferredSize(new Dimension(200, 100));// 设置标签大小
		jla.setFont(new Font("宋体", Font.BOLD, 30));// 设置字体大小
		jla.setBorder(BorderFactory.createLineBorder(Color.blue));// 设置边框
		jla.setCursor(new Cursor(Cursor.HAND_CURSOR));// 设置鼠标样式
		// 设置背景,需要将透明度关闭
		jla.setOpaque(true);// 关闭透明度
		jla.setBackground(Color.yellow);

		// 3.向JPanel面板里添加一个JLabel基础组件标签
		jpa.add(jla);

		// 2.将中间组件添加到窗体容器中
		this.getContentPane().add(jpa);
		this.setVisible(true);
	}

	public static void main(String[] args) {
		new JPanelDemo();
	}
}

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐