JFXPanel

Scott Palmer swpalmer at gmail.com
Fri Dec 14 12:15:03 PST 2012


I need to present a dialog when interacting with some of the JavaFX controls.  Since a JavaFX Dialog doesn't work properly without a JavaFX Window, I need to continue to use a JOptionPane or JDialog.  The current Swing code doesn't have a reference to the parent JFrame.  It just uses the control that is associated with the action that triggered the need for a dialog/JOptionPane as the parent.  E.g. I press a JButton and a JOptionPane appears.  The JOptionPane knows about the button and can use that as the parent component.
Now I have a JavaFX Button… but no path to a reasonable parent for the JOptionPane.

Scott

 
On 2012-12-14, at 11:19 AM, Werner Lehmann <lehmann at media-interactive.de> wrote:

> Scott,
> 
> JFXPanel has quite a few issues (look for JFXPanel or Swing in Jira). Among those is the filechooser problem. It is probably just one instance of the problem that a JavaFX stage cannot be modal or on top of Swing windows.
> 
> To work around this we have to put JFXPanels in JDialogs. Not really sexy: apart from the overhead in code we know today that we have to touch this again one day to convert the JDialog to a stage.
> 
> Regarding your problem of how to get from a node to the JFXPanel: no idea why you would want to do this. I have a dozen jfxpanels but never needed such a thing. I guess you could extend JFXPanel and add a reference to the fxpanel to some userdata on a node, or something like that.
> 
> Rgds
> Werner
> 
> On 14.12.2012 16:39, Scott Palmer wrote:
>> I'm trying to migrate more of my app from Swing to JavaFX piece-wise
>> via JFXPanels.  It's not fun as there are many rough edges.  In order
>> to work around some of them I am wondering if it is possible to get a
>> reference to the JFXPanel if all I have is a Node? I can get the
>> Scene's Window, an "Embedded" Window that seems to be the root of a
>> lot of problems with popups and dialogs.  That seems to be enough to
>> determine that the Node is hosted by a JFXPanel, but can I actually
>> get the JFXPanel instance?
>> 
>> If there is a way via public APIs that don't rely on me peaking at
>> implementation details like com.sun.javafx.stage.EmbeddedWindow?
>> 
>> Along this line… why is it that things like the FileChooser and other
>> JavaFX dialogs don't respect the window ordering when used from a
>> JFXPanel? They easily flip behind the parent JFrame.  I would have
>> thought that the correct Window hierarchy in native land could still
>> include the native window of the JFrame and that should prevent such
>> things.
>> 
>> Scott
> 



More information about the openjfx-dev mailing list