温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

javax.swing.JLabel标签怎么用

发布时间:2021-09-23 14:58:59 来源:亿速云 阅读:71 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关javax.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 的构造方法:

// 使用 本地路径 图片创建 ImageIconImageIcon(String filename)// 使用 网络路径 图片创建 ImageIconImageIcon(URL location)// 使用图片文件的字节数组创建 ImageIconImageIcon(byte[] imageData)// 使用 java.awt.Image 实例创建 ImageIconImageIcon(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);  }}

关于“javax.swing.JLabel标签怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI