Literatur

JLabel

Ein JLabel ist ein statischer Schriftzug oder eine Grafik. Er wird häufig zur Beschreibung von Eingabefeldern verwendet, kann aber ebenso für Überschriften oder Hinweise benutzt werden. Bei dem Text kann es sich auch um einen Hyperlink handeln. Dazu muss der Text in html-Tags eingebettet werden. Statt eines Textes kann ein JLabel auch ein Icon anzeigen, er kann aber auch, wie in unserem Beispiel weiter unten, aus einem Text und einem Icon bestehen.

Neben dem Standardkonstruktor besitzt die Klasse JLabel einige weitere Konstruktoren, die wir in folgender Tabelle kurz näher erläutern wollen:

Konstruktor Kurzbeschreibung
JLabel(Icon image) Hier wird ein JLabel mit einem zentrierten Icon erzeugt.
JLabel(Icon image, int horizontalAlignment) Dieser Konstruktor erstellt ein JLabel mit einem Icon, dessen Ausrichtung über den zweiten Parameter festgelegt wird. Für die Angabe der Ausrichtung können die Konstanten des Interfaces SwingConstants verwendet werden, welches von JLabel implementiert wird.
JLabel(String text) Hier wird ein JLabel mit einem vertikal zentrierten Text erzeugt. Die horizontale Ausrichtung ist standardmäßig linksbündig.
JLabel(String text, Icon icon, int horizontalAlignment) Mit Hilfe dieses Konstruktors kann sowohl ein Text als auch ein Icon für das JLabel-Objekt gesetzt werden. Der Text folgt dem Icon. Die horizontale Ausrichtung kann über den dritten Parameter angegeben werden.
JLabel(String text, int horizontalAlignment) Hier wird ein JLabel mit einem vertikal zentrierten Text erzeugt. Die horizontale Ausrichtung wird über den zweiten Parameter vorgegeben.

 

In folgender Tabelle wollen wir einige set- und get-Methoden der Klasse JLabel näher erläutern:

Methode Beschreibung
Icon getDisabledIcon() Diese Methode liefert das Icon zurück, welches verwendet werden soll, wenn das JLabel nicht aktiv (disabled) ist.
int getDisplayedMnemonic() Liefert das Tastenkürzel zurück, welches für das JLabel gesetzt wurde.
int getHorizontalAlignment() Hier wird die horizontale Icon/Textausrichtung zurückgegeben. Der Integer-Wert ist der Wert, den die Konstante des Interfaces SwingConstants für die zutreffende Ausrichtung hat.
int getHorizontalTextPosition() Diese Methode gibt die horizontale Textausrichtigung, relativ zum Icon, zurück.
Icon getIcon() Diese Methode liefert das Icon zurück, welches verwendet werden soll, wenn das JLabel aktiv (enabled) ist.
int getIconTextGap() Hier wird die Anzahl der Pixel, die sich zwischen Icon und Text befinden, zurückgegeben.
Component getLabelFor() Gibt die Komponente zurück, zu dessen Kennzeichnung das JLabel gesetzt wurde.
String getText() Diese Methode liefert den Text des JLabels zurück.
int getVerticalAlignment() Gibt die vertikale Icon/Textausrichtung zurück. Der Integer-Wert ist der Wert, den die Konstante für die zutreffende Ausrichtung hat.
int getVerticalTextPosition() Gibt die vertikale Textausrichtung, relativ zum Icon, zurück. Der Integer-Wert ist der Wert, den die Konstante für die zutreffende Ausrichtung hat.
void setDisabledIcon(Icon disabledIcon) Über diese Methode kann man ein Icon setzen, welches verwendet werden soll, wenn das JLabel nicht aktiv (disabled) ist.
void setDisplayedMnemonic(char aChar) Damit wird das Tastenkürzel für das JLabel gesetzt. Wenn ein JLabel mit einer Komponente in Verbindung steht (durch Aufruf von setLabelFor(Component c)), dann fordert diese Komponente beim Drücken der Taste mit dem gesetzten Kürzel den Fokus an.
void setHorizontalAlignment(int alignment) Setzt die horizontale Icon/Textausrichtung. Als Parameter kann man die entsprechende Konstante  übergeben.
void setHorizontalTextPosition(int textPosition) Setzt die horizontale Textausrichtung, relativ zum Icon. Als Parameter kann man die entsprechende Konstante übergeben.
void setIcon(Icon icon) Über diese Methode wird das Icon gesetzt, welches verwendet werden soll, wenn das JLabel aktiv (enabled) ist.
void setIconTextGap(int iconTextGap) Mit dieser Methode setzt man die Anzahl Pixel, welche sich zwischen dem Icon und dem JLabel befinden sollen.
void setLabelFor(Component c) Über diese Methode kann angegeben werden, zur Kennzeichnung welcher Komponente das JLabel dienen soll. So wird eine Verbindung zwischen dem Label und zugehöriger Komponente geschaffen.
void setText(String text) Diese Methode setzt den anzuzeigenden Text.
void setVerticalAlignment(int alignment) Setzt die die vertikale Icon/Textausrichtung. Als Parameter kann man die entsprechende Konstante übergeben.
void setVerticalTextPosition(int textPosition) Setzt die vertikaleTextausrichtung, relativ zum Icon. Als Parameter kann man die entsprechende Konstante übergeben.

Nachfolgend ein Beispiel für ein JLabel, das aus einem Text und einem Icon besteht:

 
// Import-Anweisungen
import javax.swing.*;
import javax.swing.plaf.metal.MetalIconFactory;
 
public class JLabelBeispiel
{
    // main-Methode
    public static void main(String[] args)
    {
        // Erzeugung eines neuen Dialoges
        JDialog meinJDialog = new JDialog();
        meinJDialog.setTitle("JLabel Beispiel");
        meinJDialog.setSize(450,300);
 
        // Wir holen uns ein Icon aus dem dem Java Look and Feel
        Icon icon = MetalIconFactory.getFileChooserHomeFolderIcon();
 
        // Wir erstellen ein JLabel mit einem Text und unserem Icon
        // Die horizontale Ausrichtung setzen wir auf "CENTER"
        JLabel label = new JLabel ("My 127.0.0.1 is my castle", 
            icon, JLabel.CENTER);
 
        // Die vertikale Ausrichtung des JLabels setzen wir auf "TOP"
        label.setVerticalAlignment(JLabel.TOP);
 
        // Die relative Ausrichtung des Textes zum Icon setzen wir auf "LEFT"
        label.setHorizontalTextPosition(JLabel.LEFT);
 
        // Wir fügen das JLabel unserem Dialog hinzu
        meinJDialog.add(label);
 
        // Wir lassen unseren Dialog anzeigen
        meinJDialog.setVisible(true);
 
    }
}

Bevor wir unser JLabel erzeugen, holen wir uns ein Icon. Da wir auf Icons erst in einem späteren Kapitel näher eingehen wollen, haben wir hier der Einfachheit halber ein Icon aus dem Java Look and Feel geholt, das sich über die Klasse MetalIconFactory abrufen lässt. Für unser JLabel verwenden wir den vierten Konstruktor der oben vorgestellten Konstruktoren. Als Parameter übergeben wir den Text "My 127.0.0.1 is my castle", unser Icon und die horizontale Ausrichtung, die wir hier auf zentriert setzen. Die vertikale Ausrichtung setzen wir auf "TOP", d.h. das Label wird sich oben befinden. Die horizontale Textposition, in Relation zum Icon, setzen wir auf "LEFT", so dass der Text links neben dem Icon erscheint.

Wenn Sie den Code ausführen, sollten Sie folgendes Bild sehen:

JLabel Beispiel unseres Java-Tutorials