Package org.jdesktop.application
Class Task.InputBlocker
java.lang.Object
org.jdesktop.application.AbstractBean
org.jdesktop.application.Task.InputBlocker
Specifies to what extent input to the Application's GUI should
be blocked while this Task is being executed and provides
a pair of methods,
block
and unblock
that
do the work of blocking the GUI. For the sake of input blocking,
a Task begins executing when it's submitted
to a TaskService
, and it finishes executing after
the Task's completion methods have been called.
The InputBlocker's BlockingScope
and the blocking target
object define
what part of the GUI's input will be blocked:
Task.BlockingScope.NONE
- Don't block input. The blocking target is ignored in this case.
Task.BlockingScope.ACTION
- Disable the target
Action
while the Task is executing.Task.BlockingScope.COMPONENT
- Disable the target
Component
Component while the Task is executing.Task.BlockingScope.WINDOW
- Block the Window ancestor of the target Component while the Task is executing.
Task.BlockingScope.Application
- Block the entire Application while the Task is executing. The blocking target is ignored in this case.
- Don't block input. The blocking target is ignored in this case.
Input blocking begins when the block
method is called and
ends when unblock
is called. Each method is only
called once, typically by the TaskService
.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionInputBlocker
(Task task, Task.BlockingScope scope, Object target) Construct an InputBlocker.InputBlocker
(Task task, Task.BlockingScope scope, Object target, ApplicationAction action) Construct an InputBlocker with four immutable properties. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
block()
Block input to the GUI per thescope
andtarget
properties.final ApplicationAction
The ApplicationAction (@Action
) that caused the task to be executed.final Task.BlockingScope
getScope()
Defines the extent to which the GUI is blocked while the task is being executed.final Object
Specifies the GUI element that will be blocked while the task is being executed.final Task
getTask()
Theblock
method will block input while this Task is being executed by a TaskService.protected abstract void
unblock()
Unblock input to the GUI by undoing whatever theblock
method did.Methods inherited from class org.jdesktop.application.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Constructor Details
-
InputBlocker
Construct an InputBlocker with four immutable properties. If the Task is null or if the Task has already been executed by a TaskService, then an exception is thrown. If scope isBlockingScope.ACTION
then target must be aAction
. If scope isBlockingScope.WINDOW
orBlockingScope.COMPONENT
then target must be a Component.- Parameters:
task
- block input while this Task is executingscope
- how much of the GUI will be blockedtarget
- the GUI element that will be blockedaction
- the@Action
that triggered running the task, or null- See Also:
-
InputBlocker
Construct an InputBlocker. Iftarget
is anApplicationAction
, it becomes the InputBlocker'saction
. If the Task is null or if the Task has already been executed by a TaskService, then an exception is thrown.- Parameters:
task
- block input while this Task is executingscope
- how much of the GUI will be blockedtarget
- the GUI element that will be blocked- See Also:
-
-
Method Details
-
getTask
Theblock
method will block input while this Task is being executed by a TaskService.- Returns:
- the value of the read-only Task property
- See Also:
-
getScope
Defines the extent to which the GUI is blocked while the task is being executed.- Returns:
- the value of the read-only blockingScope property
- See Also:
-
getTarget
Specifies the GUI element that will be blocked while the task is being executed.This property may be null.
- Returns:
- the value of the read-only target property
- See Also:
-
getAction
The ApplicationAction (@Action
) that caused the task to be executed. The DefaultInputBlocker uses the action'sname
andresourceMap
to configure its blocking dialog ifscope
isBlockingScope.WINDOW
.This property may be null.
- Returns:
- the value of the read-only action property
- See Also:
-
block
protected abstract void block()Block input to the GUI per thescope
andtarget
properties. This method will only be called once.- See Also:
-
unblock
protected abstract void unblock()Unblock input to the GUI by undoing whatever theblock
method did. This method will only be called once.- See Also:
-