JavaFX 2.0 Beta erschienen

JavaFX wurde von Sun als Antwort auf den allgemeinen RIA-Trend (Rich-Internet-Application) und somit als Konkurrenzprodukt zu Microsofts Silverlight und zu Adobes AIR/Flex im Jahr 2007 ins Rennen geschickt. JavaFX bekam nach der Übernahme von Oracle Aufwind, da sich das Unternehmen zu der bis dahin nicht sonderlich weit verbreiteten Technologie bekannt hat und seitdem auf deren Weiterentwicklung setzt. So ist es nur konsequent, dass JavaFX nun in der Version 2.0 Beta mit zahlreichen Verbesserungen erschienen ist.

Zu den größten Änderungen gehört die Ersetzung der bisher notwendigen Skriptsprache JavaFX Script durch eine reine Java API. Dadurch soll die Einstiegshürde für Java-Entwickler verringert werden. Zu den weiteren Neuerungen in JavaFX 2.0 Beta gehören:

  • Neue hardwarebeschleunigte Rendering-Engine
  • Engine zum Abspielen multimedialer Inhalte
  • Möglichkeit HTML in einer JavaFX-Applikation zu verwenden
  • Neue UI-Steuerelemente wie Charts, Tables, Menus und Panes

Die Umstellung von JavaFX Script auf Java führt dazu, dass beispielsweise Event-Handler nun als innere anonyme Klassen realisiert werden müssen:

button.addEventHandler(MouseEvent.MOUSE_EXITED, new EventHandler() {
@Override public void handle(MouseEvent e) {...}
});

Allerdings werden Entwickler, die bisher Swing, GWT oder eine ähnliche GUI-Komponentenbibliothek verwendet haben, damit sicherlich schnell zurechtkommen.

Auch das Property– und Binding-Konzept wurde aus JavaFX Script übernommen und kann nun in Java verwendet werden. Dafür wurde eine Erweiterung des JavaBean-Komponentenmodells entworfen, die in weiten Teilen der JavaFX-API Verwendung findet. Die folgende Klasse beinhaltet eine solche Property:

class Bill {
private DoubleProperty amountDue = new DoubleProperty();
public final double getAmountDue(){return amountDue.get();}
public final void setAmountDue(double value){amountDue.set(value);}
public DoubleProperty amountDueProperty() {return amountDue;}
}

Das Property wird wie gewohnt in einem privaten Attribut (“amountDue”) gespeichert. Allerdings wird nicht der primitive Datentyp “double” sondern die Wrapper-Klasse “DoubleProperty” verwendet. Diese Klasse ermöglicht beispielsweise die Registrierung von Change-Listenern und ermöglicht somit letztlich ein komplexes Binding der gespeicherten Werte.

Short URL for this post: http://wp.me/p4nxik-Au
This entry was posted in Java Basics and tagged , , , , , , . Bookmark the permalink.

One Response to JavaFX 2.0 Beta erschienen

  1. Stefan Frank says:

    Die Entscheidung, die Script-Sprache von JavaFX zu killen fand ich erst merkwürdig: Java-die-Sprache für solche GUI-Geschichten ist einfach extrem ungelenk(wer Swing-Konvolute kennt, weiß, wovon ich rede) – aber dann fand ich die Entscheidung doch richtig: Die Skriptsprache ist nie richtig vom Boden weggekommen und damit waren es dann gleich zwei Hürden, die man nehmen musste, um FX zu benutzen: das Framework und die Sprache.

    Wer partout keine neue Sprache lernen will, kann es ja jetzt mit Java versuchen: Für alle anderen setzt Oracle auf JRuby ) – das ist jetzt aber noch kein Trend, dass zwei der Großen (Oracle mit JRuby, Apple mit MacRuby, das mittlerweile Teil von Lion ist) zumindest für GUIs auf Ruby setzen, oder?!

Leave a Reply