I’m happy to announce release 0.1.0 of e(fx)clipse. This release fixes a lot of bugs discovered and adds new cool features.
Minimum JavaFX version
Like announced with the previous release 0.1.0 drops support for JavaFX 2.0. You need to have at least 2.1.
All in one downloads
I’ve upgrade the download packages to the latest released bits. So you now get downloads for 3.7.2, 3.8.0 and 4.2.0. Naturally all other components like EGit, Xtext got updated to latest and greatest.
JavaFX runtime detection
Since JRE/JDK7u4 on Mac and 7u5 on Windows JavaFX is included into the JRE/JDK, e(fx)clipse will now detect the this and use that as the default. This sounds great news on first sight but it comes with one major drawback: No JavaDoc. e(fx)clipse will fallback to the web-url of the javadoc but if you can’t access the internet for some reason the IDE can’t assist you.
This runtime detection also works for OSGi integration which will fallback to the JRE install if no FX can’t be detected.
JavaFX 2.2 comes with a new packaging options which creates a deployment package (.dmg, .msi, .rpm) which includes your application and jre.
Support for Splash-Screen
The fxbuild-Editor now allows you to specify a splash-screen image which results in the setting of SplashScreen-Image MANIFEST-Header as described here.
Support for custom MANIFEST-Attributes
You can add custom attributes to the MANIFEST-File now
For the next release I plan to revisit the build & packaging tooling and support more stuff. I’ll most likely switch to Sapphire but I’ve not yet decided.
FXML & FXGraph
SceneBuilder uses processing instructions to locate css files and the resource properties file used for translations. FXGraph now encodes its information also in this form so that FXML-Files produced by .fxgraph files can be loaded into SceneBuilder.
Another compability issue with SceneBuilder interaction is solved. SceneBuilder has a bug which makes it unable to parse all types of static attribute definitions supported and document for FXML.
<GridPane> <Button> <GridPane.columnIndex>0</GridPane.columnIndex> </Button> </GridPane>
is not loaded appropriately by SceneBuilder (see bug http://javafx-jira.kenai.com/browse/DTL-5028), when writing the FXML-Generator I was a bit lazy and encoded all static properties as subelements instead of the deciding upon the type. In 0.1.0 the generator has been made smarter and now generates xml-attributes when possible.
I originally planned to provide the FXML to FXGraph converter also with this release so that there’s a full FXGraph => FXML => SceneBuilder development cycle support but had to defer this to next release.
Support for fx:root
FXML support a new type of root-element named fx:root. The FXML-Editor can now understand it and provide proposals like you used a standard element as the root.
FXGraph naturally also supports this by the addition of a new keyword “dynamic” you can prepend to your “component” definition.
FXGraph: Condensed static properties syntax
I’ve introduced a new syntax to define static properties. In FXML static calls used for layouting look like this:
<HBox> <Button HBox.hgrow="ALWAYS" /> </HBox>
In 0.0.14 the FXGraph code looked liked this:
In 0.1.0 one can optionally also use the static keyword:
which infers the target type by walking the parent tree until it finds the layout container of the control when the FXML-File is generated.
Includes can use static-properties
Wizard to create e4 JavaFX application
This wizard allows you to bootstrap an e4 JavaFX application. If you execute the wizard you get a simple application like this:
SVG To FXML
The convert now supports to 2 SVG-Element types:
which allows you to import really nice looking JavaFX-Controls
Project Management, …
I’ve invest a lot of time in this release to automate the build and release process using maven-tycho. Like I already announced a few days ago on our forum we are now publishing all our artificats as nightly builds.
To make the creation of eclipse distributions a no brainer for none bash gurus like me, I’ve published a small library which can be used inside ant or java.
Cool. I have to try this JavaFX thing ASAP. Thanks for all the hard work.
Pingback: Java desktop links of the week, August 6 | Jonathan Giles
Pingback: JavaFX links of the week, August 6 // JavaFX News, Demos and Insight // FX Experience