~Java4Beginners~
~Java4Beginners~

JLabel

JLabels werden in Masse als Beschreibung für Textfelder benutzt. Ebenso ist es allerdings möglich, Icons in JLabels einzubinden oder auch Hyperlinks.

Notwendiger Import


import javax.swing.JLabel;

Beispiel für JLabel

Um ein JLabel verwenden zu können, müssen wir es als erstes deklarieren. Bei der Initialisierung haben wir verschiedene Möglichkeiten, da uns JLabel mehrere Konstruktoren zur Verfügung stellt.

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 * Beispielprogramm für die Verwendung von JLabel
 * @author Markus Badzura
 */
public class Bedien_JLabel extends JFrame
{
    public static void main(String[] args) 
    {
        Bedien_JLabel bjl = new Bedien_JLabel();
        bjl.Bedien_JLabel();
    }
    public void Bedien_JLabel()
    {
        this.setTitle("Beispiel JLabel");
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLocation(100,100);
        this.setSize(400,400);
        JPanel jp = new JPanel();
        jp.setSize(400,400);
        // JLabel mit verschiedenen Konstruktoren
        JLabel lb_1 = new JLabel("");
        lb_1.setText("Text");
        JLabel lb_2 = new JLabel("noch ein Text");
        jp.add(lb_1);
        jp.add(lb_2);
        this.add(jp);
        this.setVisible(true);
    }
}
Wie man feststellt bei der Ausführung werden die beiden Label nebeneinander gesetzt, da wir kein explicites Layout gesetzt haben. Wenn wir ohne Layoutmanager arbeiten möchten und die Label somit an bestimmten, festgelegten Positionen festlegen möchten, können wir die Methoden setLocation(x,y) verwenden. Mit setBounds(x,y,x,y) können wir neben der Location auch gleich den Size des Labels festlegen.

        jp.setLayout(null);
        lb_1.setLocation(10,10);
        lb_1.setSize(150,20);
        lb_2.setBounds(10,40,150,20);

setLocation(x,y)

Übergeben wird die x-Koordinate und die y-Koordinate. An dieser Posiition wird die linke, obere Ecke des Labels gesetzt.

setSize(breite, hoehe)

Mit setSize() wird die Größe des Labels festgelegt.

setBounds(x,y,breite,hoehe)

setBounds() vereinigt die Methoden setLocation() und setSize().

Hintergrundfarbe eines Labels setzen.

Beim setzen der Hintergrundfarbe stossen wir auf ein kleines Problem, nämlich auf die Tatsache, dass die Label transparent sind.

        lb_2.setBackground(Color.green);
        lb_2.setOpaque(true);
setOpaque(true) sorgt dafür, dass die transparenz aufgehoben wird und wir auf der Größe des Labels die Hintergrundfarbe sehen.

Schriftgröße ändern

Für das ändern der Schriftgröße innerhalb des Labels müssen wir den Font setzten. Dafür ist es notwendig, dass wir die verwendete Schriftart des Labels erstmal ermitteln und diese mit neuer Schriftgröße setzen.

    lb_1.setFont(lb_1.getFont().deriveFont(20f));

Schriftfarbe ändern

Wir haben auch die Möglichkeit, die Schriftfarbe zu ändern.

    lb_1.setForeground(Color.PINK);

Text fett oder kursiv

Um einen Text innerhalb des JLabels fett oder kursiv anzeigen zu können, bedienen wir uns ebenfalls der Klasse Font.

    // Label-Text in fett ausgeben
    lb1.setFont(lb1.getFont().deriveFont(Font.BOLD));
    // Label-Text kursiv ausgeben.
    lb2.setFont(lb2.getFont().deriveFont(Font.ITALIC))

Textausrichtung innerhalb des Labels

horizontale Textausrichtung

Wenn wir im Formularbereich arbeiten, so haben wir meist eine Tabellenform. Links die Label, mit den zugehörigen Beschreibungen und rechts davon die Textfelder. Um ein einheitliches Bild (z. B. alle : untereinander), muss die standarmäßige links-Ausrichtung innerhalb des Labels auf rechts geändert werden.

        lb_1.setHorizontalAlignment(JLabel.RIGHT);
        JLabel lb_3 = new JLabel("Blubb",JLabel.CENTER);
        lb_3.setBounds(10,70,150,100);
        jp.add(lb_3);
Wie Sie sehen können, haben wir entweder die Möglichkeit über die Methode setHorizontalAlignment() oder direkt über den Konstruktor, die Ausrichtung festzulegen.
Bei der horizontalen Ausrichtung haben wir 5 Möglichkeiten, wobei die ersten 3 meist zum Einsatz kommen.
  1. JLabel.LEFT (Default-Wert) Linksbündig
  2. JLabel.CENTER zentriert
  3. JLabel.RIGHT rechtsbündig
  4. JLabel.LEADING Einsatz meist bei Textfeldern (führende Leerzeichen)
  5. JLabel.TRAILING Einsatz meist bei Textfeldern (Leerzeichen am Ende)

vertikale Textausrichtung


    lb_3.setVerticalAlignment(JLabel.CENTER);
Bei der vertikalen Textausrichtung stehen uns 3 Möglichkeiten zur Verfügung.
  1. JLabel.TOP (Default-Wert) Textausrichtung oben
  2. JLabel.CENTER Textausrichtung vertikal mittig
  3. JLabel.BOTTOM Textausrichtung unten.
nach oben Java4Beginners -- Seitenversion 1.01 -- Stand: 2017-06-10