XtendFX: Die Xtend Library für JavaFX

Hartmut Schlosser

Xtend ist bekanntlich die Programmiersprache, die nach Java übersetzt wird und Erweiterungen wie Typeninferenz, Operator Overloading und Lambda-Ausdrücke mit sich bringt. Mit XtendFX steht nun eine Library zur Verfügung, die die Zusammenarbeit von Xtend und JavaFX vereinfachen soll.

Beispielsweise wird durch die Annotation @FXBean das Schreiben von JavaFX-konformen Java Beans erleichtert. Benötigt man in reinem JavaFX zwei Felder und drei Methoden pro Property, wird dies mit XtendFX zum Kinderspiel, wie das Beispiel auf GitHub demonstriert:

/**
 * A login bean written in Xtend.  
 */
@FXBean class LoginBeanXtend {   
  String userName = ""
    String password 
}  

Geschwätziger Code wird auch beim JavaFX Data Binding vermieden.

Aus:

startButton.disableProperty().bind(anim.statusProperty().isNotEqualTo(Animation.Status.STOPPED));
pauseButton.disableProperty().bind(anim.statusProperty().isNotEqualTo(Animation.Status.RUNNING));
resumeButton.disableProperty().bind(anim.statusProperty().isNotEqualTo(Animation.Status.PAUSED));
stopButton.disableProperty().bind(anim.statusProperty().isEqualTo(Animation.Status.STOPPED));  

wird:

startButton.disableProperty  -> (anim.statusProperty != STOPPED) 
pauseButton.disableProperty  -> (anim.statusProperty != RUNNING) 
resumeButton.disableProperty -> (anim.statusProperty != PAUSED) 
stopButton.disableProperty   -> (anim.statusProperty == STOPPED)  

Weitere Beispiele werden auf GitHub beschrieben. Noch ist die Library im Aufbau, alle, die sich an der weiteren Entwicklung beteiligen möchten, heißt das XtendFX-Team willkommen.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.