JavaFX + ScenicView + Javeleon = LiveFX
If you use JavaFX for development, normally you create applications with a GUI - so far so good. How often do you restart your application to check if a simple code change works? Many times?
If you develop a control, wouldn't it be great to see your code changes immediately? We use Javeleon for application development together with JVx because it saves a lot of development time and creates live feeling. We thought that Javeleon could also be useful for JavaFX application or control development because application restarts always waste development time. |
The integration of Javeleon in your JavaFX application is not difficult, simply add two VM arguments
-javaagent:D:\libs\javeleon\javeleon.jar
to your launch/run configuration (use your directories). If you use Javeleon for development, it reduces application restarts to a bare minimum, but you should know the limits.
Javeleon reloads classes directly in your VM, but it does not recreate members of your loaded instances and does not call the constructor of your classes again.
You should use a Javeleon reload listener to trigger reload of resource files (css, xml) and call specific methods after reload e.g. call init again.
Imagine you have a GUI with a button and on click you start the creation of a report or execute some business logic, etc. If you change the source code for your button click action or change a method used in the action, your application always invokes the changed "code".
Sounds tricky? It isn't, but live coding is not well known.
If you are interested, simply try it out!
I'm not sure whether the current downloadable Javeleon 3.0 is up-to-date because I found some smaller problems with ScenicView. The problems were already fixed and hopefully released asap.
My working version number: Javeleon version 3.0.1 dev 2012-11-13 (r699).
If you have problems, simply contact the Javeleon team.
Thanks for the post René. I'm glad to tell everyone that I've just uploaded the new Javeleon 3.0.1 release which includes the fixes for the JavaFX and ScenicView issues that René mentioned.