[REVIEW REQUEST] RT-24088 Add API to JavaFX to allow vetoing the closing of a Tab in a TabPane

Tom Schindl tom.schindl at bestsolution.at
Thu Dec 6 13:51:20 PST 2012


I've uploaded a revised patch which now works using the event system
sending out an TabEvent of type "TAB_CLOSE_REQUEST".

So the revised API on Tab would now be:
+ ObjectProperty<EventHandler<TabEvent>> onCloseRequestProperty()
+ EventHandler<TabEvent> getOnCloseRequest()
+ setOnCloseRequests(EventHandler<TabEvent> value)

and vetoing a close would look like this:

Tab tab1 = new Tab("Hello");
tab1.setOnCloseRequests(new EventHandler<TabEvent>() {

  public void handle(TabEvent event) {

Thanks for the input Werner, Steven and Richard.

One thing I was not sure is who is supposed to deliver an event. I used
the TabPaneBehavior maybe the Tab itself should send out this event?


Am 06.12.12 17:04, schrieb Richard Bair:
> Indeed, this sounds like the same idea Werner had. Good find.
> On Dec 6, 2012, at 7:54 AM, steve.x.northover at oracle.com wrote:
>> Stage has the onCloseRequest property.  Might make sense to have a similar API in Tab.
>> Steve
>> On 06/12/2012 8:33 AM, Tom Schindl wrote:
>>> Hi,
>>> This is an interesting idea. I'm not that deep in the FX-API to
>>> understand if this the advised way in other areas so. I let Richard and
>>> Jonathan comment on it.
>>> Tom
>>> Am 06.12.12 12:32, schrieb Werner Lehmann:
>>>> Would it also be possible to have a simple onClosing event and require a
>>>> handler to Event.consume() it? Maybe slightly less obvious than an
>>>> explicit "*veto*" but more flexible/resuable, too (as a general pattern
>>>> in similar situations).
>>>> Werner
>>>> On 06.12.2012 07:08, Tom Eugelink wrote:
>>>>> Just a remark to see if we can make this more reusable; would it be
>>>>> an idea to actually veto the close action? Like veto the removal of a
>>>>> tab from a list? In that way veto-ing would be available to other
>>>>> usages of such lists as well, a uniform API.
>>>>> Tom

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