/** * Creates a new focus tracker. * @param root the root container whose children can be focused */ public FocusTracker( Component root ){ this.root = root; add( root ); }
/** * Creates a new focus tracker. * @param root the root container whose children can be focused */ public FocusTracker( Component root ){ this.root = root; add( root ); }
@Override protected void add( Component component ){ if( !trackers.containsKey( component )){ super.add( component ); } } }
@Override protected void add( Component component ){ if( !trackers.containsKey( component )){ super.add( component ); } } }
public void componentAdded( ContainerEvent e ){ add( e.getChild() ); } };
public void componentAdded( ContainerEvent e ){ add( e.getChild() ); } };
/** * Adds listeners to <code>component</code> and its children to track the focus. * @param component the component and its children to track */ protected void add( Component component ){ component.addFocusListener( focusListener ); if( component instanceof Container ){ Container container = (Container)component; container.addContainerListener( containerListener ); for( int i = 0, n = container.getComponentCount(); i<n; i++ ){ add( container.getComponent( i )); } } }
/** * Adds listeners to <code>component</code> and its children to track the focus. * @param component the component and its children to track */ protected void add( Component component ){ component.addFocusListener( focusListener ); if( component instanceof Container ){ Container container = (Container)component; container.addContainerListener( containerListener ); for( int i = 0, n = container.getComponentCount(); i<n; i++ ){ add( container.getComponent( i )); } } }