API REVIEW request for RT-19783: Provide an option to allow modal windows to be blocking

Jeff McDonald deep.blue.6802 at gmail.com
Tue Apr 10 16:01:40 PDT 2012


Just my 2 cents ... showAsModal or showModal sounds better. When I see
showAndWait my first question before I read the docs is "what am I waiting
for?"  showAsModal or showModal  seem more self-documenting than
showAndWait.

Cheers,
Jeff

On Tue, Apr 10, 2012 at 2:45 PM, Richard Bair <richard.bair at oracle.com>wrote:

> Looks good to me, if nobody objects by tomorrow I'll mark this as approved.
>
> Richard
>
> On Apr 10, 2012, at 1:43 PM, Kevin Rushforth wrote:
>
> > JIRA:  http://javafx-jira.kenai.com/browse/RT-19783
> >
> > We have had several requests for a way to block the caller while a
> (modal) dialog is shown. The show() method on a Stage is specified to
> return to the caller immediately regardless of the modality of a stage.
> This is a good semantic for many applications, but complicates the logic
> for other applications which don't want to proceed until the dialog is
> dismissed. It is also needed internally to implement an Alert class (see
> RT-12643 for example). Swing dialog, for example, JOptionPane, work by
> blocking the caller until the dialog is dismissed meaning that Swing
> application programmers are already familiar with that model.
> >
> > Our proposal for JavaFX 2.2 is to add a new method on Stage,
> showAndWait(), which will block the caller until the stage is hidden. Note
> that while this is primarily useful for modal Stages, there is nothing in
> the API that restricts it to such.
> >
> > The proposed method and javadoc are described in the JIRA, but since it
> is so short, I will also list it here:
> >
> >     /**
> >      * Show the stage and wait for it to be closed before returning to
> the
> >      * caller. This must be called on the FX Application thread. The
> stage
> >      * must not already be visible prior to calling this method. This
> must not
> >      * be called on the primary stage.
> >      *
> >      * @throws IllegalStateException if this method is called on a thread
> >      *     other than the JavaFX Application Thread.
> >      * @throws IllegalStateException if this method is called on the
> >      *     primary stage.
> >      * @throws IllegalStateException if this stage is already showing.
> >      */
> >     public void showAndWait();
> >
> > -- Kevin
> >
>
>


More information about the openjfx-dev mailing list