Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Jetzt lerne ich Java 6

JLabel

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit JLabel lassen sich unter anderem Feldbeschriftungen, Ausgabe-Texte, aber auch Icons und Bilder in grafische Oberflächen integrieren. Diese Lektion demonstriert den Einsatz dieses wichtigen Swing-Elements.
09:34

Transkript

Wir werden uns in dieser Lektion mit dem JLabel beschäftigen, das ist also die Labelvariante aus dem Swingpaket und dabei werden wir auch kennenlernen, dass wir jetzt zum Beispiel auch Icons in ein Label hineinlegen können. Oder ein Label ganz als Bildcontainer verwenden können. Aber dafür brauchen wir zuerst einmal eine rudimentäre Swingapplikation. Wir brauchen da keinen Layoutmanager, sondern einfach nur erst einmal die Applikation an sich. Das ist eine gute Übung, wenn Sie einfach eine Pause drücken und einfach mal schnell eine Swingapplikation aufsetzen und dann sehen wir uns sofort wieder. Ok, da sind wir wieder und mittleweile habe ich eine eigene Klasse: SWING_JLabel.java. Hier ist sie, diese macht nicht anderes als sich von JFrame ableiten, entsprechend hier oben die Klassen des Paketes javax.swing importieren, den Konstruktor, den älteren Konstruktor aufrufen, einen Titel setzen und netterweise direkt die Schließenoperationen mit anzuhängen und hier einfach instanzieren. Das war es und wenn wir das Ganze so als Java Applikation ablaufen lassen, dann sehen wir hier ein leeres Fenster. Das ist also ein guter Startpunkt, um jetzt uns anzuschauen, was wir neues mit JLabel machen können. Ganz klar ein Label ist ein Beschriftungsfeld, das haben Sie alles im AWT schon gelernt und gesehen. Um sich zu informieren, was es neues gibt, dränge ich Sie wieder in die Dokumentation und dahin schalten wir jetzt mal kurz um. Wir finden die passende Information über die Swingkomponenten hier unter Swing im Hauptpaket, also javax.swing. Dann scrollen wir etwas nach unten bis wir zu den Klassen kommen. Bei den Klassen, die sind alphabetisch sortiert, suchen wir uns einfach JLabel entsprechend raus. Das ist hier, klick darauf. Sie sehen, diese leitet sich von JComponent ab und Sie werden jetzt ganz viele Methoden finden, die eben aus JComponent stammen und entsprechend daher verhalten sich sehr viele dieser Swingkomponenten sehr sehr ähnlich. Was uns interessiert sind hier die Konstruktoren, die es gibt. Wir haben die Möglichkeit, das Ganze natürlich leer anzulegen, was für uns neu ist und was wir auch gleich natürlich ausprobieren werden ist die Möglichkeit, dass wir direkt ein Bild, also ein Icon vergeben können auf ein Label, das eine recht tolle Sache. Wir können natürlich Text drauflegen und wir können das Ganze kombinieren, und daher ist dieses Label natürlich sehr flexibel für uns. Wenn wir uns hier die Methoden anschauen, dann werden Sie bemerken, dass bei den Swingkomponenten durchgehend mit getText gearbeitet wird. Das heßt wir haben wirklich bei fast allen Komponenten, die Texte anzeigen, eine getTextmethode, und wenn Sie hier so die Methoden durchschauen, werden Sie feststellen, dass wir nun hier wirklich eine setTextmethode haben. Die haben bei ganz vielen dieser Swingkomponeneten jetzt durchgehend und damit haben wir auch eine Vereinheitlichung der ganzen Geschichte. Wenn wir also jetzt hier draufgehen, sehen Sie, können wir den Text natürlich auch später entsprechend setzen. Rufen wir also ein JLabel ins Leben. JLabel, nennen wir das einfach label = new JLabel. Um das Ganz auszuprobieren, schreiben wir einfach Herzlich Willkommen und entsprechend wollen wir das Ganze auch noch schön zentrieren mit Center. Wenn wir das Ganze dann jetzt noch hinzufügen, unserer contentPane, hier wie gesagt, Unterschied zu AWT, wo wir direkt mit @ gearbeitet haben, müssen wir uns jeweils immer eine ContentPane holen und dann mit add entsprechend das Label hinzufügen. Speichern wir das Ganze, das scheint zu stimmen, dann das Ganze abspielen und wir haben unser "Herzlich Willkommen". Also einfaches Verhalten an der Stelle. Aber jetzt sind Sie bestimmt gespannt, wie das Ganze mit Bildern und Icons funktioniert. Das machen wir jetzt noch im nächsten Schritt. Um Bilder verwenden zu können, müssen wir diese zuerst einmal für Java verfügbar machen. Das heißt sie müssen in den gleichen Ordner, oder wenigstens erreichbar für unser Java Programm sein. Dafür wechsele ich jetzt einfach mal in den Projektordner, also hier in diesen Ordner, wo meine Files, Swing hier entsprechend liegen. Das ist in meinem Eclipse Workspace. Dann gehe ich jetzt in den Projektordner von Swing und hier sind entsprechend meine Files. Ich hab mir entsprechende Grafiken vorbereitet. Sie können in Javaprogrammen PNG-Grafiken verwenden, JPEGs und GIF-Grafiken. Ich hab mir hier also einen Grafikorder vorbereitet und kann hier zum Beispiel mir mal die GIF nehmen "herz", die kopiere ich hier einfach jetzt hinein. Falls Sie diese in einen Unterordner hier legen wollen ist auch ok, kein Problem, dann müssen Sie nur entsprechend den Ordner dann angeben, wenn Sie gleich das Bild laden. Okay, wir können zurück wechseln nach Java und jetzt sollten wir überlegen, wie bekommen wir ein Bild. Ganz klar, in Java ist alles objektorientiert gelöst und auch ein Bild letzendlich ist einfach nur abzuleiten von einer Klasse, und diese Klasse, die wir hier verwenden werden, heißt "ImageIcon". Und anstatt Ihnen einfach vorzuführen, wie das Ganze funktioniert, möchte ich Sie einfach dazu bringen, entsprechend wieder in der Dokumentation zu schauen. Das heißt wir wechseln jetzt hier wieder in unsere Dokumentation. ImageIcon ist aus dem Paket Swing, Das Paket Swing, wo ist es? In Javax.swing. Das heißt ich suche mir jetzt entsprechend hier einfach das passende Paket Javax.swing. Das ist das Paket, und jetzt suchen wir die Klasse imageIcon, hier finden wir die, ImageIcon, und können jetzt einfach uns durchlesen, wie ImageIcon funktioniert. Hier in der Erklärung sehen wir direkt, dass wir wirklich von einer URL; von einem Filename laden können, aber auch von einem Byte-Array. Das ist also auch ganz interessant, dass wir wirklich auch Bilder so ablegen können. Dann sehen wir hier die verschiedenen Konstruktoren, die es gibt. Und ja, entsprechend können wir jetzt hier einfach uns den passenden Konstruktor suchen. Was wir entsprechend tun werden, ist wir verwenden diesen Konstruktor hier, bei dem wir mit Hilfe eines Strings den Filename übergeben. Das ist wunderbar. Das heißt wir gehen hier einfach hinein und ziehen uns eine neue Instanz von ImageIcon nennen wir sie einfach "Icon = new ImageIcon" und entsprechend geben wir jetzt den Filename, das war herz.gif. Danach sollten wir, wenn das alles geklappt hat, hier ein Icon, ein Bild in unserem Programm haben und dieses Bild können wir jetzt natürlich anwenden auf unser Label. Dafür nehmen wir Label und suchen uns die passende Methode raus. Die heißt hier SetIcon und SetIcon erwartet als Parameter eben ein Bild und da geben wir einfach unser Icon rein. Speichern das Ganze und lassen das Ganze ausführen. Wenn alles geklappt hat, sollten wir jetzt ein "Herzlich Willkommen" bekommen. Falls kein Herz auftaucht, kann es entweder sein, dass das Bild entsprechend nicht gefunden worden ist. Unter Max OS X hatte ich beim Testen das Problem, dass Eclipse einfach mir das in der Eclipseumgebung nicht anzeigen wollte, wohl aber wenn ich aber das Classefile aus dem Finder herausgestattet habe. Also daran kann es liegen, dass nicht unbedingt Ihr Programm falsch ist, das File war da, sondern einfach, dass die Testumgebung das nicht mitgemacht hat. Voilà, und so sehen Sie jetzt, können Sie natürlich Labels entsprechend mit Icons versehen. Später werden Sie sehen, dass Sie auch Buttons und Ähnliches mit entsprechenden Icons versehen werden, das ist haargenau der gleiche Weg, daher werde ich Ihnen das dort nicht nochmal extra zeigen. Und natürlichm Sie können auch ein Label an sich ganz ohne Text gestalten und sozusagen als Grafikcontainer benutzen, um Bilder einfach anzuzeigen. Soviel also zum JLabel. Viel mehr in der Doku.

Jetzt lerne ich Java 6

Steigen Sie ein in die Programmierung mit Java 6, lernen Sie die Grundlagen kennen und unternehmen Sie anschließend Ihre ersten Schritte in der objektorientierten Programmierung.

12 Std. 27 min (98 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!