Java Standard: Grafische Oberflächen mit Swing: Anzeigenelemente: javax swing JLabel


Ein JLabel ist ein statischer Text, der zur Beschriftung innerhalb von Fenstern verwendet wird. Innerhalb eines JLabel können sowohl Text als auch Symbole dargestellt werden. Die Klasse ist das Pendant zur AWT-Klasse java.awt.Label.

JLabel ist abgeleitet von JComponent.

erzeugen

Bearbeiten

Die Erzeugung von Objekten der Klasse JLabel geschieht wie üblich über den Konstruktor:

	...
	// Erzeugt ein JLabel
	JLabel jl = new JLabel("Das ist der Text.");
	...

Ausrichten

Bearbeiten

Das JLabel ist standardmäßig mittig ausgerichtet, kann aber jederzeit verändert werden:

	...
        // JLabel rechts ausgerichtet
        jl.setHorizontalAlignment(JLabel.RIGHT);
	...

Farben verändern - Jetzt wird`s bunt

Bearbeiten

Der angezeigte Text kann auch farblich verändert werden:

	... 
       //Schriftfarbe ist jetzt Rot
       jl.setForeground(Color.red);
     
       //Hintergrund im JLabel ist Weiß 
       jl.setBackground(Color.white);
       ...

Text nachträglich verändern

Bearbeiten

Der Text in dem JLabel kann nachträglich auch noch verändert werden:

	...
	// verändert den Text im JLabel
        jl.setText("ein anderer Text"); 
	...

Zeilenumbrüche

Bearbeiten

Zeilenumbrüche werden mit Hilfe von HTML erzeugt:

	...
	// verändert den Text im JLabel und erzeugt einen Zeilenumbruch
       jl.setText("<html>erste Zeile <p/> "+                  
                   "zweite Zeile</html>");
       
	...

JLabel auf einem Frame

Bearbeiten

Hier nun ein einfaches Beispiel, ein Fenster mit einem JLabel:

	...
       // erzeugt ein Frame 
       JFrame fenster = new JFrame("Ein Testfenster mit einem JLabel");
     
       // Swing anweisen, das Programm zu beenden, wenn das Fenster geschlossen wird
       fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
       // Erzeugt ein JLabel
       JLabel jl = new JLabel("Das ist der Text.");
       
       // fügt unser JLabel dem Frame dazu  
       fenster.getContentPane().add(jl);

       //Frame anzeigen
       fenster.setVisible(true);
       ...