Build ImageJ2 Plugin With JavaFX
JavaFX is the new graphical toolkit that will on the long term probably replace Swing. This page aims to give some guidelines to be able to build ImageJ2 plugin with JavaFX.
Please don't hesitate to edit this page and add your tricks and/or experience about JavaFX and ImageJ2.
Some things to know
- JavaFX is only available since Java 8.
- JavaFX is not shipped with OpenJDK but it is with the Oracle JDK.
- JavaFX development seems to move to the OpenJFX project : http://openjdk.java.net/projects/openjfx. But it's unclear what is going on for now...
- SceneBuilder is a graphical interface that help creating JavaFX FXML files. Oracle stopped distributing SceneBuilder binaries (I don't know why). You can find new binaries from the Gluon project there : http://gluonhq.com/open-source/scene-builder
Under the hood
Usually a JavaFX program need to declare a `javafx.application.Application`.
A minimal ImageJ 2 JavaFX plugin
I have created a minimal ImageJ plugin that show how to use JavaFX for the UI of a plugin there : https://github.com/hadim/imagej-plugin-javafx (this plugin should maybe moved to the imagej GitHub organization so any IJ devs can more easly edit).
Since JavaFX is not (yet) shipped with OpenJDK. IJ2/Fiji distribution will need to find a way how to ship JavaFX (Oracle JDK ?). So the question is : Can people start developing JavaFX plugin ?