ich habe mal wieder ein Projekt aus dem Ärmel gezaubert - dieses Mal jedoch mit einem wichtigen Unterschied: Es ist bereits fast fertig Es hat sogar etwas mit OpenGL zu tun :p
sbt-fxml ist der Name und es ist ein Plugin für das Build-Tool SBT. Es ist in einem Mercurial-Repository auf Bitbucket gehosted und die Binaries liegen im offiziellen Repository von SBT.
Was tut es? Es generiert Sourcecode für FXML Dateien für JavaFX. Das ist vom Prinzip her so ähnlich wie Delphi und die .dfm Dateien, die die Definition für die Forms beinhalten (IIRC). FXML tritt dabei an die Stelle dieser .dfm Dateien und mein Plugin erzeugt den passenden Code. Dadurch kann man die Komponenten aus der FXML ohne Umwege (und vor allem ohne, dass man langweiligen Code dafür schreiben müsste) im Quellcode verwenden.
Pics or it didn't happen! Das ist zwar jetzt kein Bild, aber tut's hoffentlich genau so:
Code:
// Auto generated by sbt-fxml, changes will be overwritten
Und das FXML entstand mit dem GUI-Builder SceneBuilder.
Das heißt: Man kann sich das komplette GUI-Code schreiben nun sparen in Java / Scala
Features
Compile-Time Checks für FXML files
Wunderschöner generierter Code, sieht fast aus wie von Hand geschrieben (wäre da nicht der Kommentar am Dateianfang)
Liest den Package-Namen und den Klassennamen der Controller-Klasse direkt aus der FXML-Datei
Vermeidet unnötige imports
Kann auch mit Default-Packages
Erzeugt automatisch die Verzeichnisstruktur für das erkannte Package
Nimmt die jfxrt.jar, um den Komponenten ihre Klasse zu zu ordnen, sodass es automatisch mit allen vergangenen und zukünftigen Releases von JavaFX zusammenarbeitet
Erzeugt die Klassen nur dann neu, wenn es Änderungen im FXML gab
Unterstützt SBTs continuous compile und generiert dadurch automatisch neu, sobald sich ein FXML ändert
Publicity Ich habe das Plugin auf Twitter angekündigt - dort aber noch mit seinem alten Namen "sbt-fx". Nach der Ankündigung habe ich relativ bald gemerkt, dass es bereits ein SBT-Plugin gibt, was auf den Namen "sbt-javafx" hört und habe meines deswegen umbenannt. Leider etwas zu spät, denn meine Ankündigung wurde binnen weniger Minuten an 5655 Leute ge-retweet-et.
Lizenz Das ganze Projekt ist Open Source und steht unter der Eclipse Public License v1.0. Die ist grob vergleichbar mit der Apache License 2 und damit ein klein wenig liberaler als die LGPL.
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Ich wurde mittlerweile um einen Gastpost auf guigarage.com gebeten und auch schon von mehreren Seiten gefragt (u.A. von jemandem von Oracle), ob es denn einen Blogpost zu meinem Plugin geben wird. Und jaa..... den wird es geben
P.S.: Feedback ist was tolles
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.