Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
Name: mc57594 Date: 02/17/97 There are several deficiencies in native tab navigation in Java 1.1 - Need a "previousFocus()" method to programmatically set the focus to the prior tabbable component. - Would like to be able to override isFocusTraversable() on each type of component to enable or disable tab navigation to that component. - Would like to be able to programmatically determine which component will be next and previous on the tab sequence. - Would like to be able to override whether the tab sequence loops back to the beginning or end. - Would like to be able to override the default behavior to specify the next and previous tabbable component in a given window. - - The current implementation of tabbing cannot be overridden because the user has no access to the TabManager, and because the transferFocus() request is delivered up the containment hierarchy and therefore requires a complete set of cooperating components. A suggestion for the design of tab management is as follows Component setNextTab(Component c), setPreviousTab(Component c). If neither of these are set the component walks up the containment hierarchy to find the next/previous tabbable component. getNextTab(), getPreviousTab() gets the component that will take next tab focus, either from the local settings or from the tab manager. nextTab(), previousTab() move the focus. firstTab(), lastTab() find the first and last tabbable components on the tabbing list. enableFocusTraversal(boolean enabled) Enable or disable the ability to traverse this component using tabs. Disabling would override the native behavior of the Component which enabling would just allow the native behavior to show through. For example isFocusTraversable() { return(super.isFocusTraversable() && isTraversalEnabled); } TabManager Implement tab manager as an interface. Windows have set and get TabManager methods. Provide a default tab manager that functions pretty much like the current tab manager works. Allow user to disable or enable wrapping end-beginning on the default tab manager. ======================================================================
|