In diesem Howto wird kurz erklärt, welche Software für das Arbeiten mit JavaFX 2.0 benötigt wird und wo diese erhältlich ist. Dabei orientiert sich das Tutorial an den aktuellsten Komponenten, die mit der Veröffentlichung der neuen Version 2.0 von JavaFX erschienen sind. Die Software ist zum Verfassungszeitpunkt dieses Artikels nur für 32-Bit-Windows Betriebssysteme erhältlich.
Im Mai 2011 ist die neue Version von JavaFX erschienen, nachdem der Umgebung in der jüngsten Vergangenheit immer größere Anwendung zuteil wurde. Dieses Howto stellt alle benötigten Komponten, die zum Entwickeln mit JavaFX 2.0 erforderlich sind, mit einer minimalistischen Konfigurationsanleitung zusammen.
Installation
Bevor im nächsten Abschnitt eine minimalistische Beispielsanwendung erstellt wird, müssen zunächst alle erforderlichen Komponenten installiert werden.
Java SE 6 JDK
Für das Arbeiten mit JavaFX 2.0 ist mind. Java SE 6 JDK Update 24[ref]Zum Verfassungzeitpunkt dieses Artikels ist bereits Update 25 aktuell und wird entsprechend genutzt.[/ref] erforderlich.
- Java SE 6 Update 25 JDK downloaden.
- Zur Installation .exe-Datei ausführen.
JavaFX 2.0 SDK (inkl. Runtime)
Zusätzlich zur Java-Entwicklungsumgebung wird das JavaFX SDK benötigt.
- JavaFX SDK Zip-Archiv downloaden.
- Archive auf lokalem System entpacken und darin befindliche .exe-Datei entsprechend nachfolgendem Screenshot ausführen.
[singlepic id=362 h=618 float=center]
Netbeans 7.0 und JavaFX Plugin
Als integrierte Entwicklungsumgebung wird aktuell lediglich die Netbeans IDE, nicht aber Eclipse unterstützt. Zur Integration von JavaFX wird ein zusätzliches Plugin benötigt.
- Aktuellen Netbeans 7.0 Installer (Java SE/EE/all) downloaden.
- Installer für die Basis Version von Netbeans ausführen.
- Zip-Archiv JavaFX Plugin für Netbeans downloaden
- Archive auf dem lokalen System entpacken.
- Netbeans IDE starten.
- In der Menü-Leiste “Tools” wählen und auf “Plugins” klicken, vgl. Abb. Install Plugin 1.
- Register” Downloaded” wählen und auf “Add Plugins…” klicken, vgl. Abb. Install Plugin 2.
- Im neu geöffneten Fenster zu den zuvor entpacketen Dateien navigieren, vgl. Abb. Install Plugin 3 & 4.
- Alle entpackten NBM-Dateien auswählen und “Open” klicken, vgl. Abb. Install Plugin 5.
- Abschließend auf “Install” klicken und den Anweisungen des Netbeans Installer folgen, vgl. Abb. Install Plugin 6.
[nggtags Gallery=xgs]
Die notwendigen Komponenten zum Arbeiten mit JavaFX sind damit installiert und eingerichtet.
Adobe Integration – JavaFX Production Suite
Neben der Standardentwicklungsumgebung ist das Arbeiten mit Adobe Illustrator in Kombination mit der JavaFX Plugin Production Suite für vektorbasierten Grafiken sehr empfehlenswert, da die Vektordaten ohne Qualitätsverlust übernommen werden können. Eine Testversion der verschiedenen Adobe Produkt kann bei Bedarf auf der Adobe Produktseite heruntergeladen werden.
Die Production Suite ist zur Zeit noch nicht expliziet für JavaFX 2.0 verfügbar, zur älteren Version 1.3.1 gibt es hier eine Downloadmöglichkeit. Nach der Installation findet sich die Exportmöglichkeit des Plugins in Adobe Illustator unter Datei > Save for JavaFX… .
Hallo Welt! Beispielanwendung
Nachdem alle Voraussetzungen geschaffen sind, zeigt dieser Abschnitt kurz den groben Aufbau einer Anwendung mit JavaFX 2.0 anhand eines beispielhaften Hallo Welt! Programms. Bei der Verwendung von Netbeans muss der Code hierfür noch nicht einmal selbst geschrieben werden, da dieser bei jedem Erzeugen einer JavaFX Main Class automatisch mit erstellt wird.
Als erstes wird eine Class Datei erzeugt, um zu sehen wie das von Netbeans erstellte Programm aussieht:
- Netbeans starten, sofern nicht noch geöffnet.
- Unter “File” auf “New Projekt” bzw. auf den orangnen Ordner unter der Menüleiste klicken, vgl. Abb.”New Projekt 1.
- In der Kategorie “Java” “Java FX Application” auswählen und dann “Next” klicken, vgl. Abb. New Projekt 2.
- Unter “Project Name” kann ein beliebiger Name gewählt werden.
- “Finish” klicken, vgl. Abb. New Projekt 3.
Anschließend öffnet sich eine neue Main Class mit dem neu erstellten Hello World! Beispielprogramm.
[nggtags Gallery=xghw]
Die neue Version von JavaFX versucht sich wieder mehr an der ursprünglichen Java Programmierung zu orientieren. So ist zum Beispiel die Main Class von Typ “.java” und nicht wie früher von Typ “.fx”. Weiterhin gibt es nun auch wieder eine echte main Methode wie schon in Java.
public static void main(String[] args) { Application.launch(HelloWorld.class, args); }
Der “Lauch”- Befehl in der Main Methode führt die statische Methode “Start” der darin angegebenen Klasse aus. Gleich geblieben im Vergleich zu früheren Versionen von JavaFx ist der Aufbau im Sinne einer “Stage” und der beinhalteten “Scene”, wie die folgende Abbildung zeigt:
[singlepic id=259 w=418 float=center]
Die nachfolgenden Befehle erzeugen die angesprochene Stage und ihre Scene sowie eine Variable, die später den Inhalt der Application beinhalten soll. Alle Objekte, die der Variable “root” zugeordnet werden, sind später auch im Programm zu sehen.
primaryStage.setTitle("Hello World"); Group root = new Group(); Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);
Dies trifft zum Beispiel auf den folgenden Button “btn” zu, der zunächst definiert und dann mit einer Aktion belegt wird. Durch das Hinzufügen zu den Kindern des Wurzelelements taucht er im später sichtbaren Content-Bereich auf.
Button btn = new Button(); btn.setLayoutX(100); btn.setLayoutY(80); btn.setText("Hello World"); btn.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent event) { System.out.println("Hello World"); } }); root.getChildren().add(btn);
Durch drücken von “F6” oder dem grünen Pfeil unter der Menüleiste kann das Programm gestartet werden.
Hallo Markus, besten Dank für den großartigen Artikel!
Wie steht es denn aktuell um die Unterstützung durch andere IDEs außer NetBeans, wie z.B. Eclipse oder IntelliJ IDEA?
Bislang sehe ich für Eclipse lediglich eine Unterstützung von JavaFX 1.2.1 und nicht einmal Version JavaFX 1.3 (Stand 2010). Siehe: http://download.oracle.com/javafx/1.2/gettingstarted/eclipse-plugin/index.html
Guten Tag Herr Burkhard,
es ist richtig das es bisher nur eine Eclipse-Unterstützung von Java 1.2.1 gibt und es auch noch nicht bekannt ist ob und wann diese für Java 2.0 erscheint. Ich denke, das es von Seiten Oracle aus vorab bei einer reinen Netbeans-Unterstützung bleiben wird. Dazu muss ich auch aus persönlicher Erfahrung sagen, dass es auch schon unter Version 1.2.1 mit Eclipse einige Probleme gab. Ich bin daher, bei der Programmierung von JavaFX, zu Netbeans als IDE übergegangen.
Für Eclipse gibt es ein Community Plugin unter http://www.efxclipse.org/
Diese dämtliche Share-Leiste an linken Rand stört extrem!!! Man kann dabei kaum lesen, wenn sich das Ding andauernd bewegt!