/** * Builds an list of components that are ordered in the focus order previously set by a user for a * given form. The form may have changed (components might have been deleted or moved), so we need * to delete those components from the focus order that don't match the current state of the form. */ ArrayList buildStoredFocusList(FormComponent form) { ArrayList focus_list = new ArrayList(); FocusPolicyMemento memento = form.getFocusPolicy(); if (memento != null) { Collection fkeys = memento.getFocusPolicyKeys(); Iterator iter = fkeys.iterator(); while (iter.hasNext()) { FocusKey fkey = (FocusKey) iter.next(); Component comp = fkey.getComponent(form); if (comp != null) { focus_list.add(comp); } } } return focus_list; }