Avatar billede funkyloonie Nybegynder
05. januar 2004 - 14:44 Der er 9 kommentarer og
1 løsning

Sætte fokus? setNextFocusableComponent deprecated

Hej.
Metoden på komponenter som JTextField osv. har metoden    setNextFocusableComponent(..) men den er deprecated. Jeg har kigget på klasserne men kan ikke gennemskue hvad det "nye" alternativ er. Hvad skal gøre for at flytte fokus ml. komponenterne?
Avatar billede labanos Nybegynder
05. januar 2004 - 15:08 #1
Kig evt. på klassen FocusTraversalPolicy. Jeg har ikke lige noget eksempel.. men der findes et par java implementationer af klassen som hedder:

java.awt.ContainerOrderFocusTraversalPolicy
javax.swing.SortingFocusTraversalPolicy
Avatar billede labanos Nybegynder
05. januar 2004 - 15:26 #2
Avatar billede funkyloonie Nybegynder
05. januar 2004 - 17:03 #3
jeg kigger på det og vender tilbage imorgen ;-)
Avatar billede _carsten Nybegynder
05. januar 2004 - 17:42 #4
Hvis du ikke har mange JTextFields og derfor heller ikke har behov for at lave din egen FocusTraversalPolicy, så kan du bruge den simple mitJTextField.requestFocus();
Avatar billede funkyloonie Nybegynder
06. januar 2004 - 10:07 #5
labanos foreslag er det jeg kan bruge, så jeg mangler et svar fra dig.
requestFocus løser ikke mit problem.

Desuden har jeg set, og prøvet at bruge uden held, metoder med navnet transferFocus() og setFocusCycleRoot() og transferFocusDownCycle(). Ved I hvad og hvordan de kan bruges? Det virker for mig som de har noget med problemstillingen at gøre.
Avatar billede _carsten Nybegynder
06. januar 2004 - 10:57 #6
requestFocus() virker, no doubt about it!

Men den virker nødvendigvis ikke hvis du samtidig sætter en anden setFocusCycleRoot() eller transferFocusDownCycle() eller transferFocus()

setFocusCycleRoot(): Bruges til at sætte den focus cyklus du har defineret

transferFocusDownCycle(): Bruges til at skifte i nedadgående retning mellem
                          dine focus cykluser

transferFocusUpCycle(): Bruges til at skifte i opadgående retning mellem
                        dine focus cykluser

transferFocus():  Bruges hvis focus focus skal følge *normalen*
Avatar billede labanos Nybegynder
06. januar 2004 - 10:57 #7
ok smider lige et svar
Avatar billede _carsten Nybegynder
06. januar 2004 - 10:59 #8
I øvrigt skulle nok læse lidt her om Focus Subsystem.
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/doc-files/FocusSpec.html
Avatar billede labanos Nybegynder
06. januar 2004 - 11:00 #9
jeg har ikke selv rodet med det da jeg pt ikke har haft noget konkret behov for at ændre den default rækkefølge der bliver brugt.. som jeg umiddelbart gætter på hænger sammen med rækkefølgen af add på gui containeren?
Avatar billede funkyloonie Nybegynder
06. januar 2004 - 11:03 #10
Ja, en dag med lidt bedre tid og behov for noget avanceret fokus vil jeg gå i krig med doc'en.

Default-rækkefølge er fra venste mod højre og så næste række, dvs ned.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Operate Technology A/S

PHP-udvikler til Drupal

Politiets Efterretningstjeneste

Tech-studentermedhjælpere i PET

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre