中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Java項目中使用JLabel標簽

發布時間:2021-03-22 17:54:55 來源:億速云 閱讀:176 作者:Leah 欄目:編程語言

這篇文章給大家介紹如何在Java項目中使用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);
  }

}

結果展示:

如何在Java項目中使用JLabel標簽

關于如何在Java項目中使用JLabel標簽就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福州市| 通海县| 开平市| 卓尼县| 敦煌市| 都安| 上思县| 呼玛县| 巩留县| 邵阳市| 介休市| 新河县| 武宁县| 河津市| 洪江市| 沁源县| 泰顺县| 儋州市| 海南省| 沙雅县| 屏山县| 定西市| 修文县| 巧家县| 眉山市| 曲靖市| 宣恩县| 平泉县| 普陀区| 商南县| 修武县| 瓦房店市| 沙雅县| 巴东县| 达尔| 鱼台县| 甘洛县| 通化县| 全南县| 宕昌县| 博湖县|