bibliothek.gui.dock.control.focus
Interface FocusStrategy

All Known Implementing Classes:
DefaultFocusStrategy

public interface FocusStrategy

A FocusStrategy is used by a DockController to decide which Component to focus if a Dockable should receive the focus.

Author:
Benjamin Sigg

Method Summary
 void bind()
          Informs this strategy that it will be used from now on.
 Component getFocusComponent(FocusStrategyRequest request)
          Given a Dockable this method tells which Component should be focused.
 boolean shouldFocusAfterDrop(Dockable dockable)
          Called after dockable was dropped on a new parent due to a relocation operation (an operation that was visible to the user or that was performed by the user).
 void unbind()
          Informs this strategy that it is no longer used from now on.
 

Method Detail

bind

void bind()
Informs this strategy that it will be used from now on.


unbind

void unbind()
Informs this strategy that it is no longer used from now on.


getFocusComponent

Component getFocusComponent(FocusStrategyRequest request)
Given a Dockable this method tells which Component should be focused.

Parameters:
request - information about the Dockable that is about to be focused. Also offers verification that a Component is a valid target. All the information from request are suggestions, in the end only the result of this method will count.
Returns:
the component to focus or null.
  • null indicates that this strategy cannot decide what to do. In this case a default component will receive the focus.
  • mouseClicked forces focus onto mouseClicked, even if that Component is not focusable.
  • any other Component will receive focus if focusable, or focus will be transfered to the next focusable Component starting the search at the returned value.

shouldFocusAfterDrop

boolean shouldFocusAfterDrop(Dockable dockable)
Called after dockable was dropped on a new parent due to a relocation operation (an operation that was visible to the user or that was performed by the user).

Parameters:
dockable - the element that changed its position
Returns:
true if focus should be (again) transfered to dockable, false if the focus should remain where it is (this may mean, that dockable loses the focus)