Experience with piecewise migration Swing -> JFX
Anthony Petrov
anthony.petrov at oracle.com
Mon Jun 17 06:17:59 PDT 2013
On 06/17/13 16:35, Werner Lehmann wrote:
> In addition to what has been said before, you could check Jira for
> keywords jfxpanel and/or swing. Just today we had another Mac-only
> problem. Apparently AWT is not as thread-safe on Mac as it is on
> Windows, resulting in deadlocks in native AWT code (which currently is a
> guess, not confirmed, RT-31124).
I haven't investigated deeply, but since you've mentioned cursors I
believe this issue has been fixed already. Please try 7u40 and/or 8 ea
builds.
> Even with one JFXPanel and other Swing UI on the same window, you'll get
> a problem with tab focus movement: the jfxpanel would happily receive
> focus but then users cannot "tab out" of the jfxpanel.
Did you file a bug for this issue?
> Also seen today: after closing the last JFXPanel while the Swing
> application continues, FX would "exit the platform" (not the VM) and you
> cannot use another JFXPanel. There is probably some workaround available.
You want to call Platform.setImplicitExit(false). Please see
http://docs.oracle.com/javafx/2/api/javafx/application/Platform.html#setImplicitExit(boolean)
> And just in case it has not been said before: you cannot have a Stage on
> top of a JFrame (modal or not). This forces you to wrap a JFXPanel into
> a JDialog.
To clarify: you can't make a Swing frame be a parent of an FX stage,
meaning that you can't maintain a particular z-order between the two. So
you have to wrap a JFXPanel into a JDialog to implement this behavior.
--
best regards,
Anthony
> I have also seen a performance problem. Try an indeterminate progressbar
> in a JFXPanel. The progressbar width directly correlates with CPU usage.
> With ~400px width I get about 20% CPU usage (almost one core). This is
> probably caused by constant pixel shifting to AWT.
>
> Werner
>
> On 14.06.2013 17:08, Robert Krüger wrote:
>> What are the hidden problems one should be
>> aware of (other than having 2 UI threads).
>
More information about the openjfx-dev
mailing list