Summary of new features in JavaFX 8?

Felix Bembrick felix.bembrick at gmail.com
Sun Aug 18 15:06:25 PDT 2013


Thanks so much John, that's really helpful!

Felix


On 18 August 2013 04:52, John Smith <send2jsmith at gmail.com> wrote:

> Here is a link to the current jira generated release notes for JavaFX 8
> (it's a humongous list).
>
>
> https://javafx-jira.kenai.com/secure/ReleaseNote.jspa?projectId=10040&version=10380
>
> The majority of stuff in the jira generated release notes is implemented,
> but some is not and will probably be moved to a future release.
>
> In terms of the terminology used, I think a feature is major new
> functionality usually called out on a product requirements document
> somewhere and a tweak (of which there are hundreds) is a minor feature
> (though I don't think it's a hard and fast rule and a little arbitrary -
> some features are pretty minor and some tweaks are pretty important).
>
> Some major features missing from your list Felix:
>   multi-threaded performance improvements
>   right -> left language support
>   HiDPI display support (though that might also be in some upcoming Java
> 2.2 release)
>   swing components in JavaFX
>   increased support for new w3c standards in WebView (e.g. websockets)
>   @font-face support in css (I guess this one might be termed a tweak)
>   ATI/AMD GPU acceleration on Linux
>
> I think there is also an intention for an official embedded release for
> Java 8 that will include JavaFX in the new compact profile setup.
>
> From a developer point of view, I think the big news is open sourcing
> (except for the media and browser plugin components) along with the new
> repository layout and relatively simple gradle build process - so
> potentially JavaFX can now be included in OpenJDK and custom JDK builds,
> not just Oracle JDK builds.
>
> My favorite feature of all time is that with Java 8, JavaFX is properly
> bundled into Oracle Java and on the default class path.   So I don't have
> to keep explaining to people how to get JavaFX to run in their environment.
>  Hopefully, all of the standard OpenJDK 8 builds and distributions will
> follow Oracle's lead here and correctly bundle JavaFX into their
> distributions.
>
> ----------
>
> Here is a result of a jira query on fixed features for JavaFX 8.
>
>  RT-30831 <https://javafx-jira.kenai.com/browse/RT-30831>
> Unsorted mode in the SortedList<https://javafx-jira.kenai.com/browse/RT-30831>
>  RT-30236 <https://javafx-jira.kenai.com/browse/RT-30236>
> Open WebView sources <https://javafx-jira.kenai.com/browse/RT-30236>
>  RT-29848 <https://javafx-jira.kenai.com/browse/RT-29848>
> Add a static GridPane.setFillWidth(Node, boolean) method<https://javafx-jira.kenai.com/browse/RT-29848>
>  RT-29834 <https://javafx-jira.kenai.com/browse/RT-29834>
> Move JSObject into javafx-ui-common<https://javafx-jira.kenai.com/browse/RT-29834>
>  RT-28817 <https://javafx-jira.kenai.com/browse/RT-28817>
> Add explicit dispose() method to MediaPlayer<https://javafx-jira.kenai.com/browse/RT-28817>
>  RT-28499 <https://javafx-jira.kenai.com/browse/RT-28499>
> WebView doesnot support HTML5 <input type=file multiple<https://javafx-jira.kenai.com/browse/RT-28499>
>  RT-28089 <https://javafx-jira.kenai.com/browse/RT-28089>
> Write Script to auto-generate the new repository layout<https://javafx-jira.kenai.com/browse/RT-28089>
>  RT-27887 <https://javafx-jira.kenai.com/browse/RT-27887>
> introduce a node to embed Swing into JavaFX<https://javafx-jira.kenai.com/browse/RT-27887>
>  RT-27633 <https://javafx-jira.kenai.com/browse/RT-27633>
> Add missing FXCollections methods for ObservableSet<https://javafx-jira.kenai.com/browse/RT-27633>
>  RT-27582 <https://javafx-jira.kenai.com/browse/RT-27582>
> New modern theme for JavaFX (Modena)<https://javafx-jira.kenai.com/browse/RT-27582>
>  RT-27480 <https://javafx-jira.kenai.com/browse/RT-27480>
> Add DatePicker control <https://javafx-jira.kenai.com/browse/RT-27480>
>  RT-26377 <https://javafx-jira.kenai.com/browse/RT-26377>
> Implement SubScene <https://javafx-jira.kenai.com/browse/RT-26377>
>  RT-25996 <https://javafx-jira.kenai.com/browse/RT-25996>
> "Primitive"Property to ObjectProperty<Primitive><https://javafx-jira.kenai.com/browse/RT-25996>
>  RT-25759 <https://javafx-jira.kenai.com/browse/RT-25759>
> ObjectExpression does not have asString() method<https://javafx-jira.kenai.com/browse/RT-25759>
>  RT-25644 <https://javafx-jira.kenai.com/browse/RT-25644>
> Implement WebSocket traffic tunneling through HTTP(S) proxies that require
> authentication <https://javafx-jira.kenai.com/browse/RT-25644>
>  RT-25606 <https://javafx-jira.kenai.com/browse/RT-25606>
> Port 3D features from demo/experimental repository to FX 8 3D sandbox<https://javafx-jira.kenai.com/browse/RT-25606>
>  RT-25559 <https://javafx-jira.kenai.com/browse/RT-25559>
> In FXML, Allow event handlers to come from the namespace<https://javafx-jira.kenai.com/browse/RT-25559>
>  RT-24712 <https://javafx-jira.kenai.com/browse/RT-24712>
> Support ATI/AMD GPU on the Linux platform<https://javafx-jira.kenai.com/browse/RT-24712>
>  RT-24655 <https://javafx-jira.kenai.com/browse/RT-24655>
> Need to support movable Camera<https://javafx-jira.kenai.com/browse/RT-24655>
>  RT-24654 <https://javafx-jira.kenai.com/browse/RT-24654>
> Need to include lighting and material support for 3D primitives rendering<https://javafx-jira.kenai.com/browse/RT-24654>
>  RT-24651 <https://javafx-jira.kenai.com/browse/RT-24651>
> Need clean semantic for 2D/3D scenes mixing<https://javafx-jira.kenai.com/browse/RT-24651>
>  RT-24648 <https://javafx-jira.kenai.com/browse/RT-24648>
> Define supported Linux configurations<https://javafx-jira.kenai.com/browse/RT-24648>
>  RT-24644 <https://javafx-jira.kenai.com/browse/RT-24644>
> Support Mesh and Predefined 3D Shapes<https://javafx-jira.kenai.com/browse/RT-24644>
>  RT-24506 <https://javafx-jira.kenai.com/browse/RT-24506>
> Public API for Region backgrounds and borders<https://javafx-jira.kenai.com/browse/RT-24506>
>  RT-24041 <https://javafx-jira.kenai.com/browse/RT-24041>
> SQE: Hi-DPI display support<https://javafx-jira.kenai.com/browse/RT-24041>
>  RT-24014 <https://javafx-jira.kenai.com/browse/RT-24014>
> FX needs to support a subset of the JRE supported systems<https://javafx-jira.kenai.com/browse/RT-24014>
>  RT-24013 <https://javafx-jira.kenai.com/browse/RT-24013>
> Multi-Core scalability <https://javafx-jira.kenai.com/browse/RT-24013>
>  RT-24012 <https://javafx-jira.kenai.com/browse/RT-24012>
> Text performance of the hardware pipeline must be equal or better than the
> software pipeline <https://javafx-jira.kenai.com/browse/RT-24012>
>  RT-24009 <https://javafx-jira.kenai.com/browse/RT-24009>
> Support for Hi-DPI displays<https://javafx-jira.kenai.com/browse/RT-24009>
>  RT-24008 <https://javafx-jira.kenai.com/browse/RT-24008>
> 3D attributes <https://javafx-jira.kenai.com/browse/RT-24008>
>  RT-23911 <https://javafx-jira.kenai.com/browse/RT-23911>
> SQE: Allow 3D shapes <https://javafx-jira.kenai.com/browse/RT-23911>
>  RT-23909 <https://javafx-jira.kenai.com/browse/RT-23909>
> SQE: 3D attributes <https://javafx-jira.kenai.com/browse/RT-23909>
>  RT-23908 <https://javafx-jira.kenai.com/browse/RT-23908>
> SQE: Video capture support <https://javafx-jira.kenai.com/browse/RT-23908>
>  RT-23907 <https://javafx-jira.kenai.com/browse/RT-23907>
> SQE: Improve HTML 5 API and tags support<https://javafx-jira.kenai.com/browse/RT-23907>
>  RT-23904 <https://javafx-jira.kenai.com/browse/RT-23904>
> SQE: Tree table control <https://javafx-jira.kenai.com/browse/RT-23904>
>  RT-23903 <https://javafx-jira.kenai.com/browse/RT-23903>
> SQE: Public API for CSS Structure<https://javafx-jira.kenai.com/browse/RT-23903>
>  RT-23901 <https://javafx-jira.kenai.com/browse/RT-23901>
> SQE: Enable component orientation<https://javafx-jira.kenai.com/browse/RT-23901>
>  RT-23898 <https://javafx-jira.kenai.com/browse/RT-23898>
> SQE: Printing support <https://javafx-jira.kenai.com/browse/RT-23898>
>  RT-23897 <https://javafx-jira.kenai.com/browse/RT-23897>
> SQE: Support bi-directional text<https://javafx-jira.kenai.com/browse/RT-23897>
>  RT-23896 <https://javafx-jira.kenai.com/browse/RT-23896>
> SQE:Provide support for complex characters<https://javafx-jira.kenai.com/browse/RT-23896>
>  RT-23895 <https://javafx-jira.kenai.com/browse/RT-23895>
> SQE: i10N: Java FX must be localized in all the different languages as
> supported by the JRE. <https://javafx-jira.kenai.com/browse/RT-23895>
>  RT-23894 <https://javafx-jira.kenai.com/browse/RT-23894>
> SQE: Multi-line rich text support<https://javafx-jira.kenai.com/browse/RT-23894>
>  RT-23893 <https://javafx-jira.kenai.com/browse/RT-23893>
> SQE: i18N: Java FX must support internationalization<https://javafx-jira.kenai.com/browse/RT-23893>
>  RT-23600 <https://javafx-jira.kenai.com/browse/RT-23600>
> ObservableListBase <https://javafx-jira.kenai.com/browse/RT-23600>
>  RT-23075 <https://javafx-jira.kenai.com/browse/RT-23075>
> Support complex characters in controls<https://javafx-jira.kenai.com/browse/RT-23075>
>  RT-23074 <https://javafx-jira.kenai.com/browse/RT-23074>
> Support bi-directional text in controls<https://javafx-jira.kenai.com/browse/RT-23074>
>  RT-22913 <https://javafx-jira.kenai.com/browse/RT-22913>
> Implement and enable accelerated compositing to improve WebView rendering
> performance <https://javafx-jira.kenai.com/browse/RT-22913>
>  RT-22153 <https://javafx-jira.kenai.com/browse/RT-22153>
> Allow setting custom user-agent<https://javafx-jira.kenai.com/browse/RT-22153>
>  RT-21709 <https://javafx-jira.kenai.com/browse/RT-21709>
> Consider making available the CSS Styleable* classes as public API<https://javafx-jira.kenai.com/browse/RT-21709>
>  RT-21683 <https://javafx-jira.kenai.com/browse/RT-21683>
> Allow to change line-to-line spacing<https://javafx-jira.kenai.com/browse/RT-21683>
>  RT-21536 <https://javafx-jira.kenai.com/browse/RT-21536>
> Create tests for Popup Window hide event consuming behavior<https://javafx-jira.kenai.com/browse/RT-21536>
>  RT-21499 <https://javafx-jira.kenai.com/browse/RT-21499>
> Add WebView.scale property <https://javafx-jira.kenai.com/browse/RT-21499>
>  RT-21487 <https://javafx-jira.kenai.com/browse/RT-21487>
> Add isEmpty() and length() methods to StringExpression<https://javafx-jira.kenai.com/browse/RT-21487>
>  RT-21355 <https://javafx-jira.kenai.com/browse/RT-21355>
> Support user-defined pseudoclasses<https://javafx-jira.kenai.com/browse/RT-21355>
>  RT-20906 <https://javafx-jira.kenai.com/browse/RT-20906>
> Support setting min/pref/max sizes via css<https://javafx-jira.kenai.com/browse/RT-20906>
>  RT-20708 <https://javafx-jira.kenai.com/browse/RT-20708>
> Provide debugging and/or error condition feedback mechanism in high-level
> binding routines <https://javafx-jira.kenai.com/browse/RT-20708>
>  RT-20653 <https://javafx-jira.kenai.com/browse/RT-20653>
> Implement synchronized ObservableMap and synchronized ObservableSet<https://javafx-jira.kenai.com/browse/RT-20653>
>  RT-20048 <https://javafx-jira.kenai.com/browse/RT-20048>
> Add tests for different constructors of DropShadow<https://javafx-jira.kenai.com/browse/RT-20048>
>  RT-20039 <https://javafx-jira.kenai.com/browse/RT-20039>
> Add tests for font loading using font name<https://javafx-jira.kenai.com/browse/RT-20039>
>  RT-19838 <https://javafx-jira.kenai.com/browse/RT-19838>
> Add automated test for ImageCursor<https://javafx-jira.kenai.com/browse/RT-19838>
>  RT-19834 <https://javafx-jira.kenai.com/browse/RT-19834>
> The solid white background created in a Stage should be created - if
> needed - in the Scenegraph <https://javafx-jira.kenai.com/browse/RT-19834>
>  RT-19821 <https://javafx-jira.kenai.com/browse/RT-19821>
> Need private API to allow discovery of installed listeners on properties
> for testing <https://javafx-jira.kenai.com/browse/RT-19821>
>  RT-19451 <https://javafx-jira.kenai.com/browse/RT-19451>
> TableView: Displaying hierarchical groups and data<https://javafx-jira.kenai.com/browse/RT-19451>
>  RT-19049 <https://javafx-jira.kenai.com/browse/RT-19049>
> Support standard Java Beans in SelectBinding<https://javafx-jira.kenai.com/browse/RT-19049>
>  RT-19040 <https://javafx-jira.kenai.com/browse/RT-19040>
> Add native font rasterization for Mac<https://javafx-jira.kenai.com/browse/RT-19040>
>  RT-19020 <https://javafx-jira.kenai.com/browse/RT-19020>
> Default conversion from ObservableObjectValue<Integer> to
> ObservableIntegerValue etc.<https://javafx-jira.kenai.com/browse/RT-19020>
>  RT-18804 <https://javafx-jira.kenai.com/browse/RT-18804>
> Add emptyObservableSet and emptyObservableMap in FXCollections<https://javafx-jira.kenai.com/browse/RT-18804>
>  RT-18400 <https://javafx-jira.kenai.com/browse/RT-18400>
> Support cross build for Linux embedded<https://javafx-jira.kenai.com/browse/RT-18400>
>  RT-18149 <https://javafx-jira.kenai.com/browse/RT-18149>
> Integrate ICU library for opentype layout<https://javafx-jira.kenai.com/browse/RT-18149>
>  RT-18024 <https://javafx-jira.kenai.com/browse/RT-18024>
> Evaluate TODOs in code, either removing or filing issues as appropriate<https://javafx-jira.kenai.com/browse/RT-18024>
>  RT-17942 <https://javafx-jira.kenai.com/browse/RT-17942>
> Provide Affine class with matrix manipulation methods (multiply,
> premultipy, negate, etc.) <https://javafx-jira.kenai.com/browse/RT-17942>
>  RT-17666 <https://javafx-jira.kenai.com/browse/RT-17666>
> Webview and HTMLEditor should support printing their content<https://javafx-jira.kenai.com/browse/RT-17666>
>  RT-17663 <https://javafx-jira.kenai.com/browse/RT-17663>
> Define javafx printing APIs<https://javafx-jira.kenai.com/browse/RT-17663>
>  RT-17645 <https://javafx-jira.kenai.com/browse/RT-17645>
> Make Image class support exceptions for both asynchronous and synchronous
> loading <https://javafx-jira.kenai.com/browse/RT-17645>
>  RT-17411 <https://javafx-jira.kenai.com/browse/RT-17411>
> Complex text with BiDi support<https://javafx-jira.kenai.com/browse/RT-17411>
>  RT-17401 <https://javafx-jira.kenai.com/browse/RT-17401>
> 3D geometry support <https://javafx-jira.kenai.com/browse/RT-17401>
>  RT-17392 <https://javafx-jira.kenai.com/browse/RT-17392>
> Multi-line, multi-style, rich text support<https://javafx-jira.kenai.com/browse/RT-17392>
>  RT-17383 <https://javafx-jira.kenai.com/browse/RT-17383>
> Printing <https://javafx-jira.kenai.com/browse/RT-17383>
> RT-17288 <https://javafx-jira.kenai.com/browse/RT-17288>
> Add a TreeTable <https://javafx-jira.kenai.com/browse/RT-17288>
> RT-17053 <https://javafx-jira.kenai.com/browse/RT-17053>
> Reintroduce SortedList/FilteredList and TransformationList<https://javafx-jira.kenai.com/browse/RT-17053>
>  RT-16689 <https://javafx-jira.kenai.com/browse/RT-16689>
> TextInputControl: css "-fx-columns" doesn't work<https://javafx-jira.kenai.com/browse/RT-16689>
>  RT-16472 <https://javafx-jira.kenai.com/browse/RT-16472>
> insets should be a real property on Region<https://javafx-jira.kenai.com/browse/RT-16472>
>  RT-16395 <https://javafx-jira.kenai.com/browse/RT-16395>
> Support object oriented approach to styling UI components<https://javafx-jira.kenai.com/browse/RT-16395>
>  RT-16288 <https://javafx-jira.kenai.com/browse/RT-16288>
> Add a TextField.setFont method<https://javafx-jira.kenai.com/browse/RT-16288>
>  RT-16201 <https://javafx-jira.kenai.com/browse/RT-16201>
> Creating an image icon only button should be able to specify the padding
> of the button via the api and not just through using CSS.<https://javafx-jira.kenai.com/browse/RT-16201>
>  RT-16111 <https://javafx-jira.kenai.com/browse/RT-16111>
> FileChooser: Need to be able to specify initial file name in save dialog<https://javafx-jira.kenai.com/browse/RT-16111>
>  RT-15332 <https://javafx-jira.kenai.com/browse/RT-15332>
> Allow application to catch exceptions thrown by FX application thread with
> an UncaughtExceptionHandler<https://javafx-jira.kenai.com/browse/RT-15332>
>  RT-15109 <https://javafx-jira.kenai.com/browse/RT-15109>
> ListChangeListener$Change.toString() is not implemented<https://javafx-jira.kenai.com/browse/RT-15109>
>  RT-14947 <https://javafx-jira.kenai.com/browse/RT-14947>
> websockets not working in WebEngine<https://javafx-jira.kenai.com/browse/RT-14947>
>  RT-14730 <https://javafx-jira.kenai.com/browse/RT-14730>
> Drag and drop needs support for drag view<https://javafx-jira.kenai.com/browse/RT-14730>
>  RT-12723 <https://javafx-jira.kenai.com/browse/RT-12723>
> Ability to Render a Node in an another Node (NodeView)<https://javafx-jira.kenai.com/browse/RT-12723>
>  RT-12100 <https://javafx-jira.kenai.com/browse/RT-12100>
> Swing components inside JavaFX<https://javafx-jira.kenai.com/browse/RT-12100>
>  RT-11561 <https://javafx-jira.kenai.com/browse/RT-11561>
> Some cursor images are incorrect on Windows, Linux and Mac<https://javafx-jira.kenai.com/browse/RT-11561>
>  RT-10343 <https://javafx-jira.kenai.com/browse/RT-10343>
> CSS add support for CSS3 @font-face<https://javafx-jira.kenai.com/browse/RT-10343>
>  RT-9782 <https://javafx-jira.kenai.com/browse/RT-9782>
> Workers API is incomplete <https://javafx-jira.kenai.com/browse/RT-9782>
>  RT-9411 <https://javafx-jira.kenai.com/browse/RT-9411>
> Define internal API for styled text<https://javafx-jira.kenai.com/browse/RT-9411>
>  RT-9383 <https://javafx-jira.kenai.com/browse/RT-9383>
> Add proper constructors & factory methods to event classes, remove impl<https://javafx-jira.kenai.com/browse/RT-9383>
>  RT-9372 <https://javafx-jira.kenai.com/browse/RT-9372>
> Add Back-face Culling support to JavaFX<https://javafx-jira.kenai.com/browse/RT-9372>
>  RT-3518 <https://javafx-jira.kenai.com/browse/RT-3518>
> multiline multistyle text node<https://javafx-jira.kenai.com/browse/RT-3518>
>  RT-3290 <https://javafx-jira.kenai.com/browse/RT-3290>
> need utility methods for converting to/from screen coordinates<https://javafx-jira.kenai.com/browse/RT-3290>
>  RT-138 <https://javafx-jira.kenai.com/browse/RT-138>
> Support component orientation in common UI controls<https://javafx-jira.kenai.com/browse/RT-138>
>
>
>
> On Aug 16, 2013, at 7:50 PM, Felix Bembrick <felix.bembrick at gmail.com>
> wrote:
>
> I am preparing another blog about JavaFX and would like to know what
> changes and enhancements there are in JavaFX between JDK7 and JDK8.
>
> For me the most obvious one is the entire 3D functionality but would it be
> possible for someone from Oracle or another person in the know to list the
> major changes and (especially) enhancements/new features we can expect in
> JFX8?
>
> Alternatively, if there is either a web page that lists them or some way
> for me to establish this info myself could you please point me there?
>
> These are the ones I can find for myself:
>
> * 3D
> * Rich Text
> * Modena theme
> * Embedded support
> * HTML5 improvements
> * New controls (TreeTableView, DatePicker)?
>
> Have I missed anything?
>
> Thanks,
>
> Felix
>
>
>


More information about the openjfx-dev mailing list