Java Swing JLabel标签的使用方法

1. 概述

官方JavaDocsApi: javax.swing.JLabel

JLabel,标签。标签主要用于展示 文本 或 图片,也可以 同时显示文本和图片。

JLabel 的构造方法:

/*
 * 构造方法中的参数含义:
 *   text: 标签显示的 文本
 *   image: 标签显示的 图片
 *   horizontalAlignment: 标签内容(在标签内)的水平对其方式(竖直方向默认居中, 可通过方法设置)
 */
JLabel()

JLabel(String text)

JLabel(String text, int horizontalAlignment)

JLabel(Icon image) 

JLabel(Icon image, int horizontalAlignment) 

JLabel(String text, Icon image, int horizontalAlignment)

JLabel 的常用方法:

// 设置 文本 和 图片
void setText(String text)
void setIcon(Icon icon)

// 设置文本相对于图片的位置(文本默认在图片右边垂直居中)
void setHorizontalTextPosition(int textPosition)
void setVerticalTextPosition(int textPosition)

// 设置标签内容(在标签内)的对其方式(默认左对齐并垂直居中)
void setHorizontalAlignment(int alignment)
void setVerticalAlignment(int alignment)

// 设置图片和文本之间的间隙
void setIconTextGap(int iconTextGap)

/*
 * 下面的方法定义在 JComponent 基类中
 */

// 设置文本的字体类型、样式 和 大小
void setFont(Font font)

// 设置字体颜色
void setForeground(Color fg)

// 当鼠标移动到组件上时显示的提示文本
void setToolTipText(String text)

// 设置组件的背景
void setBackground(Color bg)

// 设置组件是否可见
void setVisible(boolean visible)

// 设置组件是否为 不透明,JLabel默认为透明,设置为不透明后才能显示背景
void setOpaque(boolean isOpaque)

// 设置组件的 首选 大小
void setPreferredSize(Dimension preferredSize)

// 设置组件的 最小 大小
void setMinimumSize(Dimension minimumSize)

// 设置组件的 最大 大小
void setMaximumSize(Dimension maximumSize)

/*
 * 上面的对齐参数具体的取值常量参考 DocsApi;
 * setXXX(...) 方法往往都对应着 getXXX() 方法。
 */

显示图片时,Icon实例的创建(一般创建ImageIcon,ImageIcon 实现了 Icon):

ImageIcon 的构造方法:

// 使用 本地路径 图片创建 ImageIcon
ImageIcon(String filename)

// 使用 网络路径 图片创建 ImageIcon
ImageIcon(URL location)

// 使用图片文件的字节数组创建 ImageIcon
ImageIcon(byte[] imageData)

// 使用 java.awt.Image 实例创建 ImageIcon
ImageIcon(java.awt.Image image)

java.awt.Image 实例的创建:

// 方法一: 通过 java.awt.Toolkit 工具类来读取本地、网络 或 内存中 的 图片(支持 GIF、JPEG 或 PNG)
Image image = Toolkit.getDefaultToolkit().getImage(String filename);
Image image = Toolkit.getDefaultToolkit().getImage(URL url);
Image image = Toolkit.getDefaultToolkit().createImage(byte[] imageData);

// 方法二: 通过 javax.imageio.ImageIO 工具类读取本地、网络 或 内存中 的 图片(BufferedImage 继承自 Image)
BufferedImage bufImage = ImageIO.read(File input);
BufferedImage bufImage = ImageIO.read(URL input);
BufferedImage bufImage = ImageIO.read(InputStream input);

/*
 * PS_01: 图片宽高: BufferedImage 可以通过 bufImage.getWidth() 和 bufImage.getHeight() 方法直接获取图片的宽高;
 *         Image 获取宽高需要另外传入一个 ImageObserver 参数。
 *
 * PS_02: 图片裁剪: BufferedImage 通过 bufImage.getSubimage(int x, int y, int w, int h) 方法可以截取图片的
 *         任意一部分,返回一个新的 BufferedImage 实例。
 *
 * PS_03: 图片缩放: Image 通过 image.getScaledInstance(int width, int height, int hints) 方法可以对图片进行
 *         缩放,返回新的一个 Image 实例。
 */

2. 代码实例

package com.xiets.swing;

import javax.swing.*;
import java.awt.*;

public class Main {

  public static void main(String[] args) {
    JFrame jf = new JFrame("测试窗口");
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    // 创建内容面板,默认使用流式布局
    JPanel panel = new JPanel();

    /*
     * 只显示文本
     */
    JLabel label01 = new JLabel();
    label01.setText("Only Text");
    label01.setFont(new Font(null, Font.PLAIN, 25)); // 设置字体,null 表示使用默认字体
    panel.add(label01);

    /*
     * 只显示图片
     */
    JLabel label02 = new JLabel();
    label02.setIcon(new ImageIcon("demo01.jpg"));
    panel.add(label02);

    /*
     * 同时显示文本和图片
     */
    JLabel label03 = new JLabel();
    label03.setText("文本和图片");
    label03.setIcon(new ImageIcon("demo02.jpg"));
    label03.setHorizontalTextPosition(SwingConstants.CENTER);  // 水平方向文本在图片中心
    label03.setVerticalTextPosition(SwingConstants.BOTTOM);   // 垂直方向文本在图片下方
    panel.add(label03);

    jf.setContentPane(panel);
    jf.pack();
    jf.setLocationRelativeTo(null);
    jf.setVisible(true);
  }

}

结果展示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 浅谈标签和JLabel类构造方法 原创

    标签有 JLabel 类定义,它的父类为 JComponet 类. 标签可以显示一行只读文本.一个图像或带图像的文本.它并不能产生任何类型的事件,只能简单地展示图片和文本,但是可以使用标签的特性指定标签上文本的对齐方式.         JLabel类提供了多种构造方法,可以创建多种标签,如展示只有文本的标签.只有图标的标签或包含文本和图标的标签.JLabel类常用的几个构造方法如下: public JLabel():创建一个不带图标和文本的JLabel对象. public JLabel():创

  • Java Swing JLabel标签的使用方法

    1. 概述 官方JavaDocsApi: javax.swing.JLabel JLabel,标签.标签主要用于展示 文本 或 图片,也可以 同时显示文本和图片. JLabel 的构造方法: /* * 构造方法中的参数含义: * text: 标签显示的 文本 * image: 标签显示的 图片 * horizontalAlignment: 标签内容(在标签内)的水平对其方式(竖直方向默认居中, 可通过方法设置) */ JLabel() JLabel(String text) JLabel(Str

  • Java Swing JPanel面板的使用方法

    1. 概述 官方JavaDocsApi: javax.swing.JPanel JPanel,面板.JPanel 是在开发中使用频率非常高的一般轻量级面板容器组件. JPanel 常用构造方法: // 创建默认使用流式布局的面板 JPanel() // 创建指定布局管理器的面板 JPanel(LayoutManager layout) 2. 代码实例 package com.xiets.swing; import javax.swing.*; import java.awt.*; public

  • java之swing下拉菜单实现方法

    本文实例讲述了java之swing下拉菜单实现方法.分享给大家供大家参考.具体如下: import java.awt.*; import javax.swing.*; import java.awt.event.*; public class test extends JApplet implements ItemListener{ JLabel jtf; ImageIcon a1, a2, a3; public void init(){ Container contentPane = getC

  • Java Swing实现窗体添加背景图片的2种方法详解

    本文实例讲述了Java Swing实现窗体添加背景图片的2种方法.分享给大家供大家参考,具体如下: 在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍. 1. 利用JLabel加载图片 利用JLabel自带的setIcon(Icon icon)加载icon,并设置JLabel对象的位置和大小使其完全覆盖窗体.这是一个很取巧的办法,代码非常简单,如下所示. JLabel lbBg = new JLabel(imageIcon); lbBg.setBound

  • Java Swing 非常漂亮外观Nimbus的使用方法实例

    Java Swing界面外观的一种,在Java 6 Update 10中首次亮相.当 Swing 古老的 Metal界面外观 首次发布时,其主要的美感竞争来自 Windows 95 界面.在十年前的图形用户界面条件下,Metal 界面 相对于当时的其他普通界面来说是一种很有吸引力的高雅的选择.Java SE 5 中更新的 Ocean 主题帮助 Metal 成为目前可行的选择,但是修改 Swing 跨平台界面外观也已是当务之急.进入 Nimbus 界面外观,可以看到崭新的基于 合成 的现代外观.N

  • Java 语言实现清除带 html 标签的内容方法

    实例如下: public String stripHtml(String content) { // <p>段落替换为换行 content = content.replaceAll("<p .*?>", "\r\n"); // <br><br/>替换为换行 content = content.replaceAll("<br\\s*/?>", "\r\n"); // 去

  • Java Swing实现JTable检测单元格数据变更事件的方法示例

    本文实例讲述了Java Swing实现JTable检测单元格数据变更事件的方法.分享给大家供大家参考,具体如下: 在JTable的初级教程中往往会提到,使用TableModel的 addTableModelListener方法可以监听单元格数据的变更,在其事件处理函,数tableChanged中,可以通过e.getColumn(),e.getFirstRow(),e.getLastRow(),e.getType()来获取变更发生的位置和变更的类型(插入.更新或删除).然而该方法存在2个致命的问题

  • Java Swing实现让窗体居中显示的方法示例

    本文实例讲述了Java Swing实现让窗体居中显示的方法.分享给大家供大家参考,具体如下: Swing组件是AWT组建的增强组件,是功能强大的"轻量级组件".这里来简单介绍一下Swing实现窗体居中显示的方法. 其他不多说,直接上代码! package awtDemo; import java.awt.Toolkit; import javax.swing.JFrame; @SuppressWarnings("serial") public class AppWi

  • Java swing五子棋的实现方法

    今天给大家介绍一下如何用Java swing实现五子棋的开发即用Java开发图形界面程序五子棋,代码由于太多,只贴部分,最下面会附上下载地址,废话不多说,下面我们先看一下运行结果: 接下来我们看代码: 首先是创建主frame框架界面: package org.liky.game.frame; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; import

  • Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例

    菜单是GUI中最常用的组件,菜单不是Component类的子类,不能放置在普通容器中,不受布局管理器的约束,只能放置在菜单栏中. 菜单组件由菜单栏 (MenuBar).菜单(Menu)和菜单项(MenuItem)三部分组成. 一个菜单栏由若干个菜单组成,一个菜单又由若干个菜单项组成.一般菜单栏放 Frame 窗口中,只要调用 Frame 类的 setMenuBar()方法即可. 常用的菜单有:下拉式菜单和弹出式菜单(独立显示,可出现在任意地方). 一:下拉式菜单的创建步骤: 1.创建一个菜单栏.

随机推荐