An FXML Browser (topic branched from Re: High performance text component)
jeff at reportmill.com
Tue Sep 4 07:47:03 PDT 2012
On Sep 4, 2012, at 7:56 AM, Daniel Zwolenski wrote:
> I think this is really powerful and a forms/reporting framework based around this that could be plugged into an app would be super useful, and is an awesome idea (something like JFX survey monkey).
I'm late to this topic, but this has been the focus of my work for the last couple years (Java Inventor). I agree with Dan's points that a JFX browser implies a rich client that probably wouldn't need server generated dynamic FXML (I'm a big believer in the separation of presentation and logic) and that it is useful to get at pre-defined UI and JSON database data - ideally with custom Java classes providing enhanced behavior.
My project has been a whole IDE and application framework based on a JavaFX(+Swing) browser. The idea is that using Java+JavaFX it can show JavaFX, HTML, PDF, images, data tables, data queries, forms, app pages, reports, Java source files and more. And it does all this in the familiar context of a browser with page navigation, address bar, refresh, search, selection, copy/paste/print, zoom, history, bookmarks, bread crumbs, etc. And the browser is extensible for additional content types. And the "JaviBrowser" can be run as an applet or a stand-alone desktop/mobile application.
For enhanced behavior, you can create a "JFXFileOwner" which is a class that loads the JavaFX UI file of the same name and automatically responds to any UI event - so you can easily say: if(anEvent.equals("SubmitButton") playBounceEffect(). The JaviBrowser fetches and dynamically loads this class if it is pointed at MyForm.class instead of MyForm.jfx.
Java Inventor is pretty ambitious - it has a UI builder, Java source editor/compiler/debugger, data table builder, query builder, report builder, an ORM, collaboration features, a cloud-server, and the center piece "JaviBrowser". I need to turn this into a real start-up - If anyone on this list has an interest, please send a note. :-)
More information about the openjfx-dev