API REVIEW request for RT-19783: Provide an option to allow modal windows to be blocking
Kevin Rushforth
kevin.rushforth at oracle.com
Tue Apr 10 17:19:34 PDT 2012
Exactly. A much more succinct way of putting it than my last response.
-- Kevin
Tom Schindl wrote:
> * Modal means that the open window (stage) is the only one who can get
> input focus
> * Blocking means that the call only returns after the window (stage) is
> closed but while the window is open
>
> Tom
>
> Am 11.04.12 01:39, schrieb Jeff McDonald:
>
>> Hmmmm ... maybe we're talking semantics here. What does Modality mean in
>> JavaFX? What does "blocking" mean in a JavaFX?
>>
>> Cheers,
>> Jeff
>>
>> On Tue, Apr 10, 2012 at 5:21 PM, Kevin Rushforth <kevin.rushforth at oracle.com
>>
>>> wrote:
>>>
>>> **
>>> The problem with showAsModal is that this method is independent of the
>>> modality attribute on Stage, so the name would be confusing.
>>>
>>> You can have a modal window (a window whose modality is
>>> Modality.WINDOW_MODAL or Modality.APPLICATION_MODAL), without having it
>>> block the caller. Conversely, you can have a non-modal window
>>> (Modality.NONE) that blocks if you call this method.
>>>
>>> I am open to a better name for this method, but I don't think it should
>>> have modal in the name.
>>>
>>> -- Kevin
>>>
>>>
>>>
>>> Jeff McDonald wrote:
>>>
>>> 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