Swing JLabel Class

Advertisements


Introduction

The class JLabel can display either text, an image, or both. Label's contents are aligned by setting the vertical and horizontal alignment in its display area. By default, labels are vertically centered in their display area. Text-only labels are leading edge aligned, by default; image-only labels are horizontally centered, by default.

Class declaration

Following is the declaration for javax.swing.JLabel class:

public class JLabel
   extends JComponent
      implements SwingConstants, Accessible

Field

Following are the fields for javax.swing.JLabel class:

  • protected Component labelFor

Class constructors

S.N.Constructor & Description
1JLabel()
Creates a JLabel instance with no image and with an empty string for the title.
2JLabel(Icon image)
Creates a JLabel instance with the specified image.
3JLabel(Icon image, int horizontalAlignment)
Creates a JLabel instance with the specified image and horizontal alignment.
4JLabel(String text)
Creates a JLabel instance with the specified text.
5JLabel(String text, Icon icon, int horizontalAlignment)
Creates a JLabel instance with the specified text, image, and horizontal alignment.
6JLabel(String text, int horizontalAlignment)
Creates a JLabel instance with the specified text and horizontal alignment.

Class methods

S.N.Method & Description
1protected int checkHorizontalKey(int key, String message)
Verify that key is a legal value for the horizontalAlignment properties.
2protected int checkVerticalKey(int key, String message)
Verify that key is a legal value for the verticalAlignment or verticalTextPosition properties.
3AccessibleContext getAccessibleContext()
Get the AccessibleContext of this object.
4Icon getDisabledIcon()
Returns the icon used by the label when it's disabled.
5int getDisplayedMnemonic()
Return the keycode that indicates a mnemonic key.
6int getDisplayedMnemonicIndex()
Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.
7int getHorizontalAlignment()
Returns the alignment of the label's contents along the X axis.
8int getHorizontalTextPosition()
Returns the horizontal position of the label's text, relative to its image.
9Icon getIcon()
Returns the graphic image (glyph, icon) that the label displays.
10int getIconTextGap()
Returns the amount of space between the text and the icon displayed in this label.
11Component getLabelFor()
Get the component this is labelling.
12String getText()
Returns the text string that the label displays.
13LabelUI getUI()
Returns the L&F object that renders this component.
14String getUIClassID()
Returns a string that specifies the name of the l&f class that renders this component.
15int getVerticalAlignment()
Returns the alignment of the label's contents along the Y axis.
16int getVerticalTextPosition()
Returns the vertical position of the label's text, relative to its image.
17boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
This is overridden to return false if the current Icon's Image is not equal to the passed in Image img.
18protected String paramString()
Returns a string representation of this JLabel.
19void setDisabledIcon(Icon disabledIcon)
Set the icon to be displayed if this JLabel is "disabled" (JLabel.setEnabled(false)).
20void setDisplayedMnemonic(char aChar)
Specifies the displayedMnemonic as a char value.
21void setDisplayedMnemonic(int key)
Specify a keycode that indicates a mnemonic key.
22void setDisplayedMnemonicIndex(int index)
Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic.
23void setHorizontalAlignment(int alignment)
Sets the alignment of the label's contents along the X axis.
24void setHorizontalTextPosition(int textPosition)
Sets the horizontal position of the label's text, relative to its image.
25void setIcon(Icon icon)
Defines the icon this component will display.
26void setIconTextGap(int iconTextGap)
If both the icon and text properties are set, this property defines the space between them.
27void setLabelFor(Component c)
Set the component this is labelling.
28void setText(String text)
Defines the single line of text this component will display.
29void setUI(LabelUI ui)
Sets the L&F object that renders this component.
30void setVerticalAlignment(int alignment)
Sets the alignment of the label's contents along the Y axis.
31void setVerticalTextPosition(int textPosition)
Sets the vertical position of the label's text, relative to its image.
32void updateUI()
Resets the UI property to a value from the current look and feel.

Methods inherited

This class inherits methods from the following classes:

  • javax.swing.JComponent

  • java.awt.Container

  • java.awt.Component

  • java.lang.Object

JLabel Example

Create the following java program using any editor of your choice in say D:/ > SWING > com > tutorialspoint > gui >

SwingControlDemo.java
package com.tutorialspoint.gui;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class SwingControlDemo {
    
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingControlDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      SwingControlDemo  swingControlDemo = new SwingControlDemo();      
      swingControlDemo.showLabelDemo();
   }

   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing Examples");
      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("Welcome to TutorialsPoint Swing Tutorial.");
      label.setOpaque(true);
      label.setBackground(Color.GRAY);
      label.setForeground(Color.WHITE);
      controlPanel.add(label);

      mainFrame.setVisible(true);  
   }
}

Compile the program using command prompt. Go to D:/ > SWING and type the following command.

D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java

If no error comes that means compilation is successful. Run the program using following command.

D:\SWING>java com.tutorialspoint.gui.SwingControlDemo

Verify the following output

Swing JLabel

Advertisements
Advertisements