API REVIEW request for RT-19783: Provide an option to allow modal windows to be blocking
Tom Schindl
tom.schindl at bestsolution.at
Tue Apr 10 17:15:34 PDT 2012
* 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
>>>>
>>>
>>>
>>
--
B e s t S o l u t i o n . a t EDV Systemhaus GmbH
------------------------------------------------------------------------
tom schindl geschäftsführer/CEO
------------------------------------------------------------------------
eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833
http://www.BestSolution.at phone ++43 512 935834
More information about the openjfx-dev
mailing list