JavaFX features in JDK 9

Kevin Rushforth kevin.rushforth at oracle.com
Wed Jul 1 01:11:26 UTC 2015


Hard to say whether a public equivalent of NGExternalNode would be 
feasible in the JDK 9 time frame. It depends on how much work would be 
to expose what you would need in a way that would be robust. It isn't 
something we plan for JDK 9, but I haven't given it enough thought to 
know what would be involved.

More interesting I think would be WebGL support itself or Rich Text 
(which was mentioned in this thread). We have RFEs filed for both, but 
neither are committed features.

-- Kevin


Michael Hoffer wrote:
> Hi all,
>
> I agree that we need WebGL support in JavaFX. Recently, I made some
> experiments with integrating the Qt based WebView/WebEngine into JavaFX via
> synchronized shared memory buffers (see
> https://www.youtube.com/watch?v=FlIrY1SlNM4 and
> https://www.youtube.com/watch?v=CQXG77O2MqQ).
>
> what can i do as a lowly developer to help?
>
>
> The implementation is highly experimental and there is a lot of work to do.
> Any help is highly appreciated! The advantage compared to the
> JavaFX WebKit project is that it is not necessary to fork WebKit. The
> downside is that the integration is not as good. Updating to a new
> versionof Qt WebView/WebEngine, however, is relatively easy since I'm using
> a QPainter that draws to a shared memory buffer. JavaFX gets access to the
> buffer via JNI. What concerns me is the limited API to directly draw
> buffers without performing too much copying.
>
> Therefore, *we need a public equivalent of NGExternalNode* (used by
> SwingNode, integrates Swing into JavaFX). Kevin, do you think this is
> realistic for JavaFX 9?
>
> Anyway, here is a link to the github repo: https://github.com/miho/VFXWebKit
>
> Regards,
> Michael
>
>
>
> 2015-06-30 14:09 GMT+02:00 Scott Palmer <swpalmer at gmail.com>:
>
>   
>>> On Jun 30, 2015, at 7:21 AM, Mike Hearn <mike at plan99.net> wrote:
>>>
>>> ...
>>> With respect to things like "support WebRTC" or "support WebGL" -
>>> seriously? WebRTC is useful for exactly one kind of app, video chat. It
>>> seems to have been driven primarily so Google could make a Skype
>>>       
>> competitor
>>     
>>> inside Gmail without having to make a downloadable plugin. There are
>>> already many competing video call apps that work fine.
>>>       
>> Video streaming, conferencing, etc. are important technologies.  But if
>> you are going with a Java UI, there isn’t much point in handcuffing
>> yourself to a Web UI that will have a far worse user experience.
>>
>>     
>>> As for WebGL, you can already do OpenGL from within Java just fine.
>>>       
>> Not “just fine" in a JavaFX app though. With no access to native window
>> handles or an OpenGL surface it’s not so simple.  You have to fall back to
>> AWT/Swing or go native and then you’ve got issues with the OpenGL parts not
>> being well integrated into the rest of the UI.  My commercial application
>> has to create a separate AWT window to implement a video preview to avoid
>> performance issues.  With the AWT window I can get the native window handle
>> and blit directly to the window without extra copies of uncompressed HD
>> video frames.
>>
>>     
>>> Being
>>> able to do arbitrary GL within an FX scene graph would be nice for some
>>> apps, but of course, on Windows you'd really need to be using Direct3D or
>>> some kind of performance-hurting translation layer as WebGL itself uses.
>>>       
>> Exactly.  Access to a native drawing surface has been discussed for a long
>> time.  It would be nice to see some progress made with JavaFX 9.
>>
>>     
>>> If I had a single wish it'd be for better rich text support, like a rich
>>> text editor component (maybe based on Tomas Mikula's work).
>>>       
>> That would be a great area for improvement.
>>
>> I personally would like to see my request for extensible media support
>> (from 2008) to get some attention
>> https://bugs.openjdk.java.net/browse/JDK-8091063
>> It should be possible (and reasonable) to write a non-linear editor like
>> Final Cut Pro in Java (and some JNI) with a JavaFX UI.
>>  :-)
>>
>>
>> Scott
>>
>>     
>>> On Tue, Jun 30, 2015 at 1:13 PM, Jack Moxley <jack at moxley.co.uk> wrote:
>>>
>>>       
>>>> Maybe it should its aspirations a little higher, especially with the
>>>> advent of unity, webgl or even scenegraph impls such as jmonkeyengine
>>>>         
>> that
>>     
>>>> do.
>>>>
>>>> Sent from my iPhone
>>>>
>>>>         
>>>>> On 30 Jun 2015, at 09:42, Felix Bembrick <felix.bembrick at gmail.com>
>>>>>           
>>>> wrote:
>>>>         
>>>>> <cough>JavaFX has *never* claimed to be write once, run anyway</cough>
>>>>>
>>>>>
>>>>>           
>>>>>> On 30 Jun 2015, at 18:13, Mike <mikegps1 at gmail.com> wrote:
>>>>>>
>>>>>> <cough>write once, run anywhere</cough>
>>>>>>
>>>>>> This about sums it up!
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> On Tue, Jun 30, 2015 at 12:12 AM, Jack Moxley <jack at moxley.co.uk>
>>>>>>>               
>>>> wrote:
>>>>         
>>>>>>> <cough>write once, run anywhere</cough>
>>>>>>>
>>>>>>> Sent from my iPhone
>>>>>>>
>>>>>>>               
>>>>>>>>> On 29 Jun 2015, at 21:45, Michał Zegan <webczat_200 at poczta.onet.pl
>>>>>>>>>                   
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>>>> Hash: SHA1
>>>>>>>>
>>>>>>>> Does it mean platform support for linux won't be implemented now, or
>>>>>>>> at all?
>>>>>>>> I usually use windows, but still depend on that support because I
>>>>>>>> sometimes use linux, so I am interested about that.
>>>>>>>>
>>>>>>>> W dniu 2015-06-29 o 22:40, Kevin Rushforth pisze:
>>>>>>>>                 
>>>>>>>>> There is public API in 8u40 to support accessibility. Applications
>>>>>>>>> using standard JavaFX controls can, for example, use the
>>>>>>>>> accessibleText property to define the text that the screen reader
>>>>>>>>> will speak or the accessibleHelp property to provide a more
>>>>>>>>> detailed description. These properties have reasonable defaults,
>>>>>>>>> but can be overridden by applications. Additionally, if you use the
>>>>>>>>> "labelFor" property to point to a Control that the Label is
>>>>>>>>> associated with, the accessibility framework will use that when the
>>>>>>>>> screen reader is active.
>>>>>>>>>
>>>>>>>>> Custom controls can override the queryAccessibleAttribute,
>>>>>>>>> executeAccessibleAction, and notifyAccessibleAttributeChanged
>>>>>>>>> methods.
>>>>>>>>>
>>>>>>>>> As for platform support, we currently support Windows and Mac
>>>>>>>>> platforms. We have no plan to make FX accessible on Linux .
>>>>>>>>>
>>>>>>>>> -- Kevin
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Michał Zegan wrote: I saw it, and it seems promising, but: first,
>>>>>>>>> there is probably, or I heard it wrong? no public api for making
>>>>>>>>> accessibility related stuff... Also, I believe there is no linux
>>>>>>>>> accessibility bridge as opposed to windows and mac. And I do not
>>>>>>>>> know if I am wrong, or when this is going to be implemented.
>>>>>>>>>
>>>>>>>>> W dniu 2015-06-29 o 20:30, Kevin Rushforth pisze:
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>>>>> JavaFX accessibility is already implemented and was delivered
>>>>>>>>>>>> in JDK 8u40.
>>>>>>>>>>>>
>>>>>>>>>>>> -- Kevin
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Michał Zegan wrote: What about accessibility work? Work on it
>>>>>>>>>>>> has been started, but not sure if it is still targetted for
>>>>>>>>>>>> 9.
>>>>>>>>>>>>
>>>>>>>>>>>> W dniu 2015-06-27 o 20:16, Mike pisze:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>>>> a lot of FULL blown Webrtc support and building
>>>>>>>>>>>>>>> something in Javafx (like Scene Builder) that Proves
>>>>>>>>>>>>>>> Webrtc support would be awesome. Ditto to Webgl
>>>>>>>>>>>>>>> support.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Sat, Jun 27, 2015 at 8:07 AM, Kevin Rushforth
>>>>>>>>>>>>>>> <kevin.rushforth at oracle.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>                               
>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Felix,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Sorry for the delay. Most of us were still pretty
>>>>>>>>>>>>>>>> focused on 8u60, but we are turning our attention to
>>>>>>>>>>>>>>>> JDK 9 now.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> The focus for JDK 9 is Jigsaw. The currently planned
>>>>>>>>>>>>>>>> big features (JEPs) for FX in JDK 9 are these:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> JEP 253: Prepare JavaFX UI Controls & CSS APIs for
>>>>>>>>>>>>>>>> Modularization JEP 257: Update JavaFX/Media to Newer
>>>>>>>>>>>>>>>> Version of GStreamer
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Related to Jigasw, we intend to look into new API for
>>>>>>>>>>>>>>>> heavily used internal methods / classes since they
>>>>>>>>>>>>>>>> will no longer be accessible otherwise. We also plan
>>>>>>>>>>>>>>>> to update WebKit at least one more time, and will
>>>>>>>>>>>>>>>> likely do a few RFEs such as better Hi-DPI support
>>>>>>>>>>>>>>>> (with API control) on Mac, Windows, Linux.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> We don't currently plan any other big features for 9,
>>>>>>>>>>>>>>>> but will consider additional RFEs if they are
>>>>>>>>>>>>>>>> important to enough developers and if they fit into
>>>>>>>>>>>>>>>> the time frame.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> -- Kevin
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Felix Bembrick wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>>>>>>> Anyone got anything or is there a link somewhere
>>>>>>>>>>>>>>>>> that talks about these?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 15 June 2015 at 22:00, Felix Bembrick
>>>>>>>>>>>>>>>>> <felix.bembrick at gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>                                   
>>>>>>>>>>>>>>>>>> I realise we are a long way off JDK 9 still and
>>>>>>>>>>>>>>>>>> with crucial features such as Jigsaw still a
>>>>>>>>>>>>>>>>>> little up in the air but is it possible someone
>>>>>>>>>>>>>>>>>> could itemise the most likely new features,
>>>>>>>>>>>>>>>>>> enhancements and bug fixes that we will see in
>>>>>>>>>>>>>>>>>> JavaFX when JDK 9 is released?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Of course it's purely speculation at this point
>>>>>>>>>>>>>>>>>> but it would assist me greatly to have some of
>>>>>>>>>>>>>>>>>> idea of where JavaFX is heading and which areas
>>>>>>>>>>>>>>>>>> are seen as most important.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Felix
>>>>>>>>>>>>>>>>>>                                     
>>     
>
>
>   


More information about the openjfx-dev mailing list