Swing JLabel類

2019-10-16 22:10:23

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.yiibai.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 tw511.com)");
      label.setOpaque(true);
      label.setBackground(Color.GRAY);
      label.setForeground(Color.WHITE);
      controlPanel.add(label);

      mainFrame.setVisible(true);  
   }
}

執行上面範例程式碼,得到以下結果 -

Swing JLable