Wenn bei Ihnen nun alles richtig konfiguriert ist und Sie keinen Fehler im Quelltext gemacht haben, sollten Sie nach dem Start eine Java-Applikation mit einem Swing-Fenster sehen.
Das Programm erweitern
Das Programm soll nun um eine Titelzeile und ein Bild erweitert und das Fenster etwas vergrößert werden. Das Listing soll anschließend so aussehen:
import javafx.ui.*;
Frame {
width: 400
height: 200
visible: true
title: "Meine erste JavaFX-Applikation"
content: Label {
text: "<html><div align='center'>
<h1 style='background:red'>
Willkommen auf meiner Homepage</h1>
<img xsrc='http://rjs.de/bilder/devil.gif' /></div></html>"
}
}
Listing 5
Im Grunde wurden nur die Werte für die Höhe und Breite des Fensters angepasst und zwei weitere Eigenschaften (title und content) ergänzt.
Die folgenden Details dürften aber wieder einige Leser zum Staunen bringen:
- Der Wert von content ist wieder ein Objekt (vom Typ Label), das deklarativ notiert wird.
- Der Inhalt von der Eigenschaft text eines Labels kann HTML sein, der zu Java gerendert wird. Inklusive der Angabe von Referenzen auf externe Ressourcen wie Bilder, die auch aus dem Web nachgeladen werden können – hier sehen Sie die neuen Trends von RIA. Auch das Verarbeiten von CSS funktioniert (eingeschränkt). Das Gestalten kann sogar über die Verknüpfung von HTML mit dynamischen JavaFX-Anweisungen kombiniert werden, was nahezu unbegrenzte Möglichkeiten eröffnet. Letztendlich kommt aber eine Java-Swing-Oberfläche heraus, die eine reine Desktop-Applikation, eine mobile Applikation, eine RIA oder was auch immer visuell repräsentiert.
- Ein String kann in JavaFX über mehrere Zeilen verteilt werden, ohne Stringverknüpfung! Das erleichtert zum Beispiel das Kopieren von HTML-Quellcodepassagen aus HTML-Editoren.
Fazit
Insbesondere die einfache deklarative Erstellung von Swing-Oberflächen, die sogar unter Verwendung von HTML und CSS (auch aus dem Web) erfolgen kann, die Verwendung von etabliertem Java unterhalb der Oberfläche sowie die plattformneutrale potenzielle Ausführung dieser Applikationen eröffnen JavaFX große Möglichkeiten. Es wird spannend sein, die Entwicklung zu beobachten.





