© Excellent backgrounds/Shutterstock.com
Java Magazin
Überblick der Neuerungen in JavaFX

JavaFX 8

Mit Java 8 hält auch JavaFX 8 als UI-Toolkit Einzug in die Java-Landschaft. Das Toolkit lag bereits seit einiger Zeit in der Version 2.x vor und konnte so in erste Java-6- und Java-7-Anwendungen integriert werden. Mit Version 8 ist JavaFX nun offiziell das empfohlene UI-Toolkit für Java. Dieser Artikel soll die Neuerungen in JavaFX und dessen Integration in das aktuelle JRE genauer vorstellen.

Hendrik Ebbers


Spring auf Java 8

Neben Lambdas ist sicherlich einer der großen Neuerungen in Java das JavaFX-UI-Toolkit, das mit Java 8 als empfohlenes UI-Toolkit mit ausgeliefert wird. JavaFX ist hierbei sowohl im JDK als auch im JRE zu finden. Mit Java 8 liegt JavaFX zwar noch in einem eigenen JAR, dem jfxrt.jar, es wird aber standardmäßig zum Classpath hinzugefügt und kann somit problemlos für das Erstellen von Java-Anwendungen genutzt werden.

Mit Java 8 hält auch die neue Version JavaFX 8 Einzug, die das zuvor mit Java 7 ausgelieferte JavaFX 2.x ablöst. Gegenüber der 2er Version bringt JavaFX 8 einige neue Features mit, die in diesem Artikel einmal vorgestellt werden sollen. Aufgrund der Menge an Änderungen bzw. Erweiterungen zwischen JavaFX 2 und 8 werden hier allerdings nur die Hauptneuerungen vorgestellt. Neben diesen gibt es noch eine Fülle an weiteren zusätzlichen Features, wie z. B. neue oder erweiterte Properties für die verschiedenen GUI-Komponenten. Um diese Features zu erkennen, wurde in der Javadoc die Annotation @since verwendet. Alle Methoden und Klassen, die zu JavaFX 8 neu hinzugekommen sind, sind hierdurch wie folgt anmontiert: @ since JavaFX 8.0

Integration der neuen Java-8-Sprachfeatures und APIs

Bei der Nutzung von JavaFX mit Java 8 merkt man schnell, dass JavaFX bereits von Anfang an für die Nutzung von Lambdas konzipiert wurde. So sind beispielsweise alle Event Handler als functional interfaces aufgebaut. Auch an vielen anderen Stellen wie z. B. bei der Definition von Custom Cells für Listen oder Tabellen wird komplett auf functional interfaces und die Nutzung von Lambdas gesetzt. Listing 1 zeigt, wie ein speziell entwickelter Zellentyp für eine ListView gesetzt und zusätzlich ein event handler registriert wird. Hierbei wird in zwei verschiedenen Varianten die Nutzung mit und ohne Lambdas gezeigt. Beim Betrachten des Beispiels sollte schnell klar werden, dass JavaFX voll und ganz auf die neuen Technologien von Java 8 setzt.

Listing 1// Mit LambdaslistView.setCellFactory(c -> new CustomCell());listView.setOnMouseEntered(e -> System.out.println("Mouse entered"));  // Ohne LambdaslistView.setCellFactory(new Callback, ListCell>() { @Override public ListCell call(ListView param) { return new CustomCell(); }});listView.setOnMouseEntered(new EventHandler() { @Override public void handle(MouseEvent event) { System.out.println("Mouse entered"); }});

Neben dem Lambda-Support ...

Java Magazin
Überblick der Neuerungen in JavaFX

JavaFX 8

Mit Java 8 hält auch JavaFX 8 als UI-Toolkit Einzug in die Java-Landschaft. Das Toolkit lag bereits seit einiger Zeit in der Version 2.x vor und konnte so in erste Java-6- und Java-7-Anwendungen integriert werden. Mit Version 8 ist JavaFX nun offiziell das empfohlene UI-Toolkit für Java. Dieser Artikel soll die Neuerungen in JavaFX und dessen Integration in das aktuelle JRE genauer vorstellen.

Hendrik Ebbers


Spring auf Java 8

Neben Lambdas ist sicherlich einer der großen Neuerungen in Java das JavaFX-UI-Toolkit, das mit Java 8 als empfohlenes UI-Toolkit mit ausgeliefert wird. JavaFX ist hierbei sowohl im JDK als auch im JRE zu finden. Mit Java 8 liegt JavaFX zwar noch in einem eigenen JAR, dem jfxrt.jar, es wird aber standardmäßig zum Classpath hinzugefügt und kann somit problemlos für das Erstellen von Java-Anwendungen genutzt werden.

Mit Java 8 hält auch die neue Version JavaFX 8 Einzug, die das zuvor mit Java 7 ausgelieferte JavaFX 2.x ablöst. Gegenüber der 2er Version bringt JavaFX 8 einige neue Features mit, die in diesem Artikel einmal vorgestellt werden sollen. Aufgrund der Menge an Änderungen bzw. Erweiterungen zwischen JavaFX 2 und 8 werden hier allerdings nur die Hauptneuerungen vorgestellt. Neben diesen gibt es noch eine Fülle an weiteren zusätzlichen Features, wie z. B. neue oder erweiterte Properties für die verschiedenen GUI-Komponenten. Um diese Features zu erkennen, wurde in der Javadoc die Annotation @since verwendet. Alle Methoden und Klassen, die zu JavaFX 8 neu hinzugekommen sind, sind hierdurch wie folgt anmontiert: @ since JavaFX 8.0

Integration der neuen Java-8-Sprachfeatures und APIs

Bei der Nutzung von JavaFX mit Java 8 merkt man schnell, dass JavaFX bereits von Anfang an für die Nutzung von Lambdas konzipiert wurde. So sind beispielsweise alle Event Handler als functional interfaces aufgebaut. Auch an vielen anderen Stellen wie z. B. bei der Definition von Custom Cells für Listen oder Tabellen wird komplett auf functional interfaces und die Nutzung von Lambdas gesetzt. Listing 1 zeigt, wie ein speziell entwickelter Zellentyp für eine ListView gesetzt und zusätzlich ein event handler registriert wird. Hierbei wird in zwei verschiedenen Varianten die Nutzung mit und ohne Lambdas gezeigt. Beim Betrachten des Beispiels sollte schnell klar werden, dass JavaFX voll und ganz auf die neuen Technologien von Java 8 setzt.

Listing 1// Mit LambdaslistView.setCellFactory(c -> new CustomCell());listView.setOnMouseEntered(e -> System.out.println("Mouse entered"));  // Ohne LambdaslistView.setCellFactory(new Callback, ListCell>() { @Override public ListCell call(ListView param) { return new CustomCell(); }});listView.setOnMouseEntered(new EventHandler() { @Override public void handle(MouseEvent event) { System.out.println("Mouse entered"); }});

Neben dem Lambda-Support ...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang