"Preben" <64bit@mailme.dk> wrote in message
news:3eff2eab$0$24695$edfadb0f@dread14.news.tele.dk...
> Hej
>
> Jeg har problemer med JFocusTraversal***** for jeg aner ikke hvad jeg
> skal kigge på!
Har du kigget på
http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html#customFocusTraversal
Jeg synes at det forklarer det meste, men jeg har selvfølgelig heller ikke
prøvet at implementere det
Men på en eller anden måde skal du lave en klasse der extender
FocusTraversalPolicy og som kender alle dine komponenter.
Og så skal du blot fortælle din container (det JPanel, der indeholder alle
dine JTextFields) at den skal bruge pågældende FocusTraversalPolicy.
Måske kan du lave noget i retning af dette i din FocusTraversalPolicy
klasse:
public Component getComponentAfter(Container focusCycleRoot,
Component
aComponent) {
for( int i =0; i < ANTAL; i++ ) {
if( aComponent.equals( dato[i] ) return bilag[i];
else if( aComponent.equals( bilag[i] ) return type[i];
else if( aComponent.equals( type[i] ) return kontonr[i];
// og så fremdeles...
}
return dato[0];
}
Og så selvfølgelig det modsatte i getComponentBefore() metoden.
> Jeg ønskede endvidere at få et par andre taster end tab til at virke som
> TraversalKeys, og det var ganske simpelt at tilføje det til et HashSet,
> men sådan kan jeg vel ikke gøre denne gang?
Tjooo - altså du skal bruge setFocusTraversalKeys(int id, Set keystrokes)
metoden i din container. Der er vist ikke den store forskel.
Kig i API'en for FocusTraversalPolicy og Container.
Og sig til, hvis det stadig driller.
Mvh
Peter Lind