Swing JLabel類

JLabel類可以顯示文本或圖像。通過在顯示區域中設置垂直和水準對齊來對齊標籤的內容。默認情況下,標籤在顯示區域中垂直居中。默認情況下,純文本標籤前沿對齊; 默認情況下,僅圖像標籤水準居中。

類聲明

以下是javax.swing.JLabel類的聲明 -

public class JLabel
   extends JComponent
      implements SwingConstants, Accessible

字段

以下是javax.swing.JLabel類的字段 -

  • protected Component labelFor

類構造函數

編號 構造函數 描述
1 JLabel() 創建一個沒有圖像且標題為空字元串的JLabel實例。
2 JLabel(Icon image) 使用指定的圖像創建JLabel實例。
3 JLabel(Icon image, int horizontalAlignment) 使用指定的圖像和水準對齊創建JLabel實例。
4 JLabel(String text) 使用指定的文本創建JLabel實例。
5 JLabel(String text, Icon icon, int horizontalAlignment) 使用指定的文本,圖像和水準對齊創建JLabel實例。
6 JLabel(String text, int horizontalAlignment) 使用指定的文本和水準對齊方式創建JLabel實例。

類方法

編號 類方法 描述
1 protected int checkHorizontalKey(int key, String message) 驗證該鍵是horizontalAlignment屬性的合法值。
2 protected int checkVerticalKey(int key, String message) 驗證該鍵是verticalAlignmentverticalTextPosition屬性的合法值。
3 AccessibleContext getAccessibleContext() 獲取此對象的AccessibleContext
4 Icon getDisabledIcon() 返回標籤禁用時使用的圖示。
5 int getDisplayedMnemonic() 返回表示助記鍵的鍵碼。
6 int getDisplayedMnemonicIndex() 返回作為索引的字元,外觀應提供裝飾以表示助記符。
7 int getHorizontalAlignment() 返回標籤內容沿X軸的對齊方式。
8 int getHorizontalTextPosition() 返回標籤文本相對於其圖像的水準位置。
9 Icon getIcon() 返回標籤顯示的圖形圖像(字形,圖示)。
10 int getIconTextGap() 返回文本與此標籤中顯示的圖示之間的空間量。
11 Component getLabelFor() 獲取標記的組件。
12 String getText() 返回標籤顯示的文本字串。
13 LabelUI getUI() 返回呈現此組件的L&F對象。
14 String getUIClassID() 返回一個字串,該字串指定呈現此組件的l&f類的名稱。
15 int getVerticalAlignment() 返回標籤內容沿Y軸的對齊方式。
16 int getVerticalTextPosition() 返回標籤文本相對於其圖像的垂直位置。
17 boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h) 如果當前Icon的圖像不等於傳入的圖像img,則會覆蓋此值以返回false
18 protected String paramString() 返回此JLabel的字串表示形式。
19 void setDisabledIcon(Icon disabledIcon) 如果此JLabel處於“禁用”狀態(JLabel.setEnabled(false)),則設置要顯示的圖示。
20 void setDisplayedMnemonic(char aChar) displayedMnemonic指定為char值。
21 void setDisplayedMnemonic(int key) 指定表示助記鍵的鍵碼。
22 void setDisplayedMnemonicIndex(int index) 提供關於文本中哪個字元應該被裝飾以表示助記符的外觀的提示。
23 void setHorizontalAlignment(int alignment) 設置標籤內容沿X軸的對齊方式。
24 void setHorizontalTextPosition(int textPosition) 設置標籤文本相對於圖像的水準位置。
25 void setIcon(Icon icon) 定義此組件將顯示的圖示。
26 void setIconTextGap(int iconTextGap) 如果同時設置了圖示和文本屬性,則此屬性定義它們之間的空間。
27 void setLabelFor(Component c) 設置組件的標籤。
28 void setText(String text) 定義此組件將顯示的單行文本。
29 void setUI(LabelUI ui) 設置呈現此組件的L&F對象。
30 void setVerticalAlignment(int alignment) 設置標籤內容沿Y軸的對齊方式。
31 void setVerticalTextPosition(int textPosition) 設置標籤文本相對於圖像的垂直位置。
32 void updateUI() 將UI屬性重置為當前外觀的值。

方法繼承

該類繼承以下類中的方法 -

  • javax.swing.JComponent
  • java.awt.Container
  • java.awt.Component
  • java.lang.Object

JLabel示例

使用編輯器創建以下Java程式:SwingJLabel.java -


// package com.zaixian.gui;

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

public class SwingJLabel {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingJLabel(){
      prepareGUI();
   }
   public static void main(String[] args){
       SwingJLabel  swingControlDemo = new SwingJLabel();
      swingControlDemo.showLabelDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing JLable示例");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));

      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }
      });
      headerLabel = new JLabel("", JLabel.CENTER);
      statusLabel = new JLabel("",JLabel.CENTER);
      statusLabel.setSize(350,100);
      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);
   }
   private void showLabelDemo(){
      headerLabel.setText("Control in action: JLabel");
      JLabel label  = new JLabel("", JLabel.CENTER);
      label.setText("這是一個簡單的Swing JLable示例(by xuhuhu.com)");
      label.setOpaque(true);
      label.setBackground(Color.GRAY);
      label.setForeground(Color.WHITE);
      controlPanel.add(label);

      mainFrame.setVisible(true);
   }
}

執行上面示例代碼,得到以下結果 -

Swing JLable


上一篇: Swing控件 下一篇: Swing事件處理