Stage hide/show from Swing
Kevin Rushforth
kevin.rushforth at oracle.com
Mon May 18 15:24:55 UTC 2015
You should call Platform.setImplicitExit(false) to disable the default
behavior where the FX toolkit exits when the last Stage is closed.
One more suggestion:
> PlatformImpl.startup(new Runnable()
This is not public API and should be avoided. If you are running a Swing
application and want to startup the FX toolkit, you should create a new
instance of JFXPanel (even if you don't use it).
-- Kevin
Matthias Hänel wrote:
> Hello there,
>
>
> I have a stage that is been called from a Java Swing application. This is not a real problem
> since I can run follwing code:
>
> PlatformImpl.startup(new Runnable()
> {
> @Override
> public void run()
> {
> myStage = new myStage();
> myStage.show();
> }
> });
>
>
> That works so far.
>
> No I would like to close this stage from the swing application. I can call:
>
> Platform.runLater(new Runnable()
> {
> @Override
> public void run()
> {
> myStage.hide();
> }
> });
>
>
> This also works.
>
> Since I have a toggle-Button to hide and show the stage from the swing application, I would like
> to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now.
>
> What did I try?
>
> 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work.
>
> 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene.
>
> 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;))
>
>
> Does anyone tried this before? Any advise will be helpful :)
>
>
>
> Thanks in advance
> Matthias
>
>
>
>
More information about the openjfx-dev
mailing list