[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    JFXPanel
From:       artem.ananiev () oracle ! com (Artem Ananiev)
Date:       2012-12-25 9:51:44
Message-ID: 50D97730.5040101 () oracle ! com
[Download RAW message or body]


Here is the request to backport RT-24632 to 2.2.x:

http://javafx-jira.kenai.com/browse/RT-27202

Thanks,

Artem

On 12/24/2012 9:01 PM, Scott Palmer wrote:
> On 2012-12-24, at 10:06 AM, Artem Ananiev <artem.ananiev at oracle.com> wrote:
> 
> > 
> > On 12/24/2012 6:25 PM, Scott Palmer wrote:
> > > On 2012-12-24, at 5:18 AM, Anthony Petrov <anthony.petrov at oracle.com>
> > > wrote:
> > > 
> > > > On 12/21/2012 18:54, Scott Palmer wrote:
> > > > ...
> > > > > Anyway.. the blocking can be dealt with in the application code
> > > > > if need be (make the Dialog modeless and block the panel via
> > > > > other means).  It isn't even the issue.  It is the Window
> > > > > hierarchy that is the issue.  Dialogs should never go behind
> > > > > their parent window.  That's the only bug I would be trying to
> > > > > address for now.
> > > > 
> > > > The only way to implement this reliably is to use the handle to the
> > > > native Swing window as an owner for the FX dialog, which is not
> > > > currently possible unfortunately.
> > > > 
> > > > I understand the need for this completely. However, I doubt this
> > > > possibility would be useful for FX in the long run, especially
> > > > given that workarounds exist.
> > > 
> > > What is the workaround for file choosers?  The swing version crashes
> > > the JVM on windows when you try to sort in details view - a major bug
> > > that our testers are very unhappy about.
> > 
> > What is the bug number, where the crash is described?
> 
> Originally filed as 7160713, again as 7177373, repeated as 7199708... but it is \
> finally fixed in 7u12 anyway. (Too late for me to ship with it.) It was present in \
> all java 7 builds until 7u12.  We finally just recently spent days hacking JavaFX \
> file choosers to work reasonably in a Swing app... keeping them in front, blocking \
> the main window etc.  It was far more work than it should have been, and there are \
> still corner cases that fail, but at least it doesn't bring down the whole app. 
> > 
> > > Tool tips?  ColorPicker? Context menus? Any popup window...  There
> > > are several issues with these not going away when they should or
> > > going behind the parent window.
> > 
> > Have you tried the latest 8 builds? The fix for RT-24632 should address popup \
> > windows. It was not backported to 2.2.x
> 
> 8 is too far out.  I could try, but since I can't ship with it for some time it \
> isn't on the radar. 
> > 
> > > The workaround is don't use JavaFX, which sort of makes migration of
> > > Swing apps an all or nothing deal.  When we hit these issues during
> > > piece-wise migration it becomes a bit scarier to commit to the full
> > > migration.
> > > 
> > > I suspect the parent window issue is the root of a lot of JFXPanel
> > > problems.  If JAWT can be used to get a proper parent window for the
> > > Scene I'm hoping it will go a long way.  If enough of the toolkit
> > > code is open source I would consider attempting a patch myself.
> > 
> > I provided comments about JAWT in previous emails. I don't say it's not a \
> > solution, I say it requires much more code to work reliably than one can expect.
> 
> That's too bad :-(.
> 
> A back port of the popup fixes to 2.2.x (7u12?) would be awesome.
> 
> Cheers,
> 
> Scott
> 
> > 
> > > > For example, you could use a Swing modal dialog to achieve the same
> > > > result - just put your modal FX content into another JFXPanel and
> > > > embed it into the JDialog.
> > > 
> > > That is the approach we are going with for now.
> > > 
> > > > Or, as you're suggesting above, you could disable the panel
> > > > manually which wouldn't fix the z-order but at least would provide
> > > > some kind of modality.
> > > 
> > > We don't have a problem with modality at the moment.
> > > 
> > > > A third approach is to get rid of the JFXPanel altogether and put
> > > > your FX content into a real FX top-level window.
> > > 
> > > In other words a full JavaFX app without Swing... this is what we are
> > > working towards.
> > > 
> > > Happy holidays,
> > 
> > Merry Cristmas and Happy New Year :)
> > 
> > Thanks,
> > 
> > Artem
> > 
> > > Scott >
> > > > 
> > > > --
> > > > best regards,
> > > > Anthony
> > > > 
> > > > > Scott
> > > > > On 2012-12-21, at 8:09 AM, Anthony Petrov <anthony.petrov at oracle.com> \
> > > > > wrote:
> > > > > > It isn't obvious to me, however. Suppose I add several JFXPanels into a \
> > > > > > single Swing top-level window. I may want to show a modal dialog for the \
> > > > > > first JFXPanel, but leave others operable, for example. This use case \
> > > > > > seems to be quite valid. 
> > > > > > --
> > > > > > best regards,
> > > > > > Anthony
> > > > > > 
> > > > > > On 12/21/2012 16:09, Scott Palmer wrote:
> > > > > > > The whole Swing window must be blocked, if possible.  I don't even \
> > > > > > > understand why this is a question.  If I show a JOptionPane and I give \
> > > > > > > a JPanel as the "parent" component, does it block only the JPanel?  \
> > > > > > > This is no different.  Can you give me an example of when you would \
> > > > > > > only want the JFXPanel blocked? Scott
> > > > > > > On 2012-12-21, at 4:52 AM, Anthony Petrov <anthony.petrov at \
> > > > > > > oracle.com> wrote:
> > > > > > > > Hi Scott,
> > > > > > > > 
> > > > > > > > I think that technically this could be implemented.
> > > > > > > > 
> > > > > > > > However, there's a problem: when you create a modal FX dialog \
> > > > > > > > specifying a JFXPanel instance as its owner - should the whole Swing \
> > > > > > > > window be blocked while the dialog is showing, or should the JFXPanel \
> > > > > > > > be disabled only? Why? 
> > > > > > > > From logical perspective there's not a perfect answer to the above \
> > > > > > > > question. No matter what decision we make, some people could get \
> > > > > > > > upset. 
> > > > > > > > --
> > > > > > > > best regards,
> > > > > > > > Anthony
> > > > > > > > 
> > > > > > > > On 12/21/2012 7:00, Scott Palmer wrote:
> > > > > > > > > On 2012-12-17, at 5:55 AM, Artem Ananiev <artem.ananiev at \
> > > > > > > > > oracle.com> wrote:
> > > > > > > > > > On 12/14/2012 8:19 PM, Werner Lehmann 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.
> > > > > > > > > > Yes, z-order and modality problems with Swing and FX top-level \
> > > > > > > > > > windows is a known issue. Unfortunately, I don't know a good way \
> > > > > > > > > > to fix it: AWT/Swing doesn't expose enough information to use its \
> > > > > > > > > > windows as owner windows for other UI toolkits. 
> > > > > > > > > > Thanks,
> > > > > > > > > > 
> > > > > > > > > > Artem
> > > > > > > > > I responded earlier wondering why the native window handle of the \
> > > > > > > > > Swing Window wasn't acquired via the publicly available jawt native \
> > > > > > > > > methods so it could be used as the parent for a Stage or worked \
> > > > > > > > > into some sort of hierarchy to give a proper parent window to FX \
> > > > > > > > > Stages and dialogs.   I didn't see any response.  Am I missing \
> > > > > > > > > something? I already do this (get and use the native window handle) \
> > > > > > > > > in a Swing app so that I can blit live video into my Swing app., a \
> > > > > > > > > high-end video capture/transcoder/broadcast application. (See \
> > > > > > > > > http://www.digitalrapids.com/en/Products/StreamZHD.aspx or the one \
> > > > > > > > > that really could have used FX if it was ready earlier \
> > > > > > > > > http://www.digitalrapids.com/en/Products/TouchStream.aspx) I \
> > > > > > > > > actually have a need to do the same with a JavaFX app .. but there \
> > > > > > > > > is no equivalent in FX land for the jawt JNI methods. (I asked for \
> > > > > > > > > this years ago in the Java FX 1.0 days.) Is all of the code \
> > > > > > > > > involved in JFXPanel->Scene->Window Open Source?  I went poking \
> > > > > > > > > around but didn't find the implementation of \
> > > > > > > > > com.sun.javafx.tk.quantum.QuantumToolkit which I think is used to \
> > > > > > > > > create the peer of the EmbeddedWindow used as the Window for \
> > > > > > > > > JFXPanels. Cheers,
> > > > > > > > > Scott


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic