In late December 2009, Sun-Microsystems (which eventually became part of Oracle) released
the first preview version of-JavaFX-Composer—a What-You-See-Is-What-You-Get (WYSIWYG)
tool for building rich, graphical GUIs. It borrows its visual metaphors from graphical design
tools where developers drag components from a palette and arrange them on the stage
during design. Composer generates the appropriate JavaFX code to keep both design-view
and code-view synchronized. JavaFX Composer supports the following functionalities:
F Drag-and-drop design — Composer supports the ability to drag visual components and
GUI controls directly on Stage. Composer provides a WYSIWYG designer environment
with on-the-fly alignment guides, property editors, and round-trip code synchronization
(these are the same characteristics found in NetBeans Swing GUI Builder). Besides
visual components, developers can drag-and-drop other visual components, including
paint, effects, and charts. Composer even provides a Design Analyser that dynamically
detects design issues as they occur.
F The Data source framework — Composer introduces the DataSource API, designed to
simplify and standardize access of data from different sources. Each source type comes
with a corresponding DataSource , including HttpDataSource , DbDataSource ,
FileDataSource , StorageDataSource , and ClassPathDataSource . The
DataSource API also offers a filtering mechanism to let users select data nodes,
using an XPath-like expression. Composer provides configuration wizards as well,
to help developers walk through the steps for setting up a data source.
F States —this is a mechanism that lets developers organize visual components based
on a set of current property values (or states). This feature is synonymous to building
a presentation, where the slide represents a state in which a component can appear.
For each state (slide), the components may have different property values. When
the user switches to a different state, the new property values are applied to the
components. Users may switch between states by generating an event or through
user actions. The action of switching between states can be controlled to include
transition animations and effects that are automatically scripted by Composer .