橘子味的心
标题: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.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 yiibai.com)");
      label.setOpaque(true);
      label.setBackground(Color.GRAY);
      label.setForeground(Color.WHITE);
      controlPanel.add(label);

      mainFrame.setVisible(true);  
   }
}

执行上面示例代码,得到以下结果 -


目录

分类