|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object bibliothek.gui.dock.control.focus.EnsuringFocusRequest
public class EnsuringFocusRequest
Ensures that either a DockTitle
or child Component
of the currently focused
Dockable
is focused. This request does nothing if the focus already is
correctly set, but will request the focus if not.
The request will be executed several times, this is necessary because on some systems - like
Linux - Java does not handle focus requests very well.
Constructor Summary | |
---|---|
EnsuringFocusRequest(Dockable dockable,
boolean dockableOnly)
Creates a new request. |
|
EnsuringFocusRequest(Dockable dockable,
boolean dockableOnly,
Component mouseClicked)
Creates a new request. |
Method Summary | |
---|---|
boolean |
acceptable(Component component)
Tells whether component would be an acceptable Component to receive
the focus. |
Component |
getComponent()
Gets the Component which may receive the focus. |
int |
getDelay()
Gets a delay in milliseconds, the FocusController will wait executing this
request until the delay has passed. |
DockElementRepresentative |
getSource()
Gets the source of this request. |
FocusRequest |
grant(Component component)
Called once this FocusRequest is granted, this request must now call
a method like Component.requestFocusInWindow() on component . |
boolean |
isHardRequest()
A hard request is not checked for correctness regarding the visibility
or showing . |
boolean |
validate(FocusController controller)
Invoked by controller right before this request is processed. |
void |
veto(FocusVetoListener.FocusVeto veto)
Informs this request of the result of calling the FocusVetoListener s. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public EnsuringFocusRequest(Dockable dockable, boolean dockableOnly)
dockable
- the element which is focuseddockableOnly
- whether a child of dockable
should gain the focus. If false
, then also
a DockTitle
can gain the focus.public EnsuringFocusRequest(Dockable dockable, boolean dockableOnly, Component mouseClicked)
dockable
- the element which is focuseddockableOnly
- whether a child of dockable
should gain the focus. If false
, then also
a DockTitle
can gain the focus.mouseClicked
- the Component
the used clicked on, may be null
Method Detail |
---|
public DockElementRepresentative getSource()
FocusRequest
Dockable
which receives
the focus, or the Component
which received a MouseEvent
. The
source will be used to ask the FocusVetoListener
s whether to accept this
request or not.
getSource
in interface FocusRequest
null
public Component getComponent()
FocusRequest
Component
which may receive the focus. This is no necessarily the
Component
that gains the focus because the FocusStrategy
may choose
another Component
. This Component
may be not focusable, not visible,
not showing, or not valid in any other respect. It is the FocusController
's job
to correct such issues.
getComponent
in interface FocusRequest
Component
which may receive the focus, can be null
public int getDelay()
FocusRequest
FocusController
will wait executing this
request until the delay has passed.
getDelay
in interface FocusRequest
public boolean isHardRequest()
FocusRequest
visibility
or showing
. These requests can be executed even if the application
is not yet visible.
isHardRequest
in interface FocusRequest
Component
s are not
visiblepublic void veto(FocusVetoListener.FocusVeto veto)
FocusRequest
FocusVetoListener
s. This method is called
after FocusRequest.validate(FocusController)
.
veto
in interface FocusRequest
veto
- the veto that was cast, including no veto
public boolean acceptable(Component component)
FocusRequest
component
would be an acceptable Component
to receive
the focus. This method usually is called when FocusRequest.getComponent()
returned an invalid
Component
(e.g. null
or a component that is not focusable) and that
Component
gets replaced.
acceptable
in interface FocusRequest
component
- the component that might gain the focus
true
if this request approves on component
replacing
the result of FocusRequest.getComponent()
public boolean validate(FocusController controller)
FocusRequest
controller
right before this request is processed. The method
checks whether this request is still valid, e.g. a request may no longer be valid because
it points to a Dockable
that is no longer visible.
validate
in interface FocusRequest
controller
- the controller which will process this request
true
if this request is valid, false
if this request is
invalid and should be ignoredpublic FocusRequest grant(Component component)
FocusRequest
FocusRequest
is granted, this request must now call
a method like Component.requestFocusInWindow()
on component
.
grant
in interface FocusRequest
component
- the Component
which gains the focus. Usually this
Component
is valid in the sense of that it is focusable, visible and
showing. There are no guarantees for this properties tough.
FocusRequest
that will be executed. If the result of
FocusRequest.getSource()
of this
and of the result matches, and if the
result of FocusRequest.getComponent()
is the same as component
, then
the FocusController
will accept the request without calling neither
FocusVetoListener
nor FocusStrategy
. In any other case the request
will be treated like a completely new request. The result of this method can also
be null
. The result of this method can also by this
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |