bibliothek.gui.dock.control.focus
Class DefaultFocusStrategy

java.lang.Object
  extended by bibliothek.gui.dock.control.focus.DefaultFocusStrategy
All Implemented Interfaces:
FocusStrategy

public class DefaultFocusStrategy
extends java.lang.Object
implements FocusStrategy

The DefaultFocusStrategy keeps track of the last focused Component of any Dockable that is registered at a DockController.

Author:
Benjamin Sigg

Constructor Summary
DefaultFocusStrategy(DockController controller)
           
 
Method Summary
 void bind()
          Informs this strategy that it will be used from now on.
protected  boolean focusable(java.awt.Component component)
          Tells whether the non-focusable component in reality is focusable.
 java.awt.Component getFocusComponent(Dockable dockable, java.awt.Component mouseClicked)
          Given a Dockable this method tells which Component should be focused.
 void unbind()
          Informs this strategy that it is no longer used from now on.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultFocusStrategy

public DefaultFocusStrategy(DockController controller)
Method Detail

focusable

protected boolean focusable(java.awt.Component component)
Tells whether the non-focusable component in reality is focusable. This is true for example for any child of a JComboBox.

Parameters:
component - the component which seems to be not focusable, but in reality is focusable
Returns:
true if component should be treated as if it would be focusable

getFocusComponent

public java.awt.Component getFocusComponent(Dockable dockable,
                                            java.awt.Component mouseClicked)
Description copied from interface: FocusStrategy
Given a Dockable this method tells which Component should be focused.

Specified by:
getFocusComponent in interface FocusStrategy
Parameters:
dockable - some dockable which is about to get the focus
mouseClicked - the component which was touched by the mouse and which would get the focus normally. Can be null.
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.

bind

public void bind()
Description copied from interface: FocusStrategy
Informs this strategy that it will be used from now on.

Specified by:
bind in interface FocusStrategy

unbind

public void unbind()
Description copied from interface: FocusStrategy
Informs this strategy that it is no longer used from now on.

Specified by:
unbind in interface FocusStrategy