20. januar 2003 - 12:48Der er
7 kommentarer og 1 løsning
FocusTraversalPolicy()
Jeg har altid brugt setNextFocusableComponent, når jeg skulle bestemme rækkefølgen på komponenternes fokus... men det må jeg jo ikke mere. Den er depricated pr. 1.4.
Nu forsøger jeg mig så med FocusTraversalPolicy... Jeg har lavet en klasse MyFocusTraversalPolicy, der implementerer FocusTraversalPolicy. Og så har jeg sat følgende linie ind i min GUI!
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Meget god idé. Men det er desværre ikke lige det, mit problem er. Jeg vil gerne kunne bestemme, hvilket textfield der får fokus når jeg trykker på tab. Det er for at undgå, at man bliver ledt rundt på alle buttons osv. når man bare vil videre til næste textfield. Og det er endnu ikke lykkedes mig at lytte på tab-knappen :(
Tja... det er lidt en snyder... Den holder ikke, hvis man vil tilbage i tab-rækkefølgen, og trykker Shift-Tab. Så ryger man også videre til field1. Så den duer desværre heller ikke :( Men bare kom med flere idéer hvis du får dem!
Prøv lige den her, det lugter måske lidt mere af det du søger !!
Carsten.
public class TabTest extends javax.swing.JFrame { public TabTest() { initComponents(); keyBoard(); }
private void initComponents() { jTextField1 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); jTextField2 = new javax.swing.JTextField(); jButton2 = new javax.swing.JButton(); jTextField3 = new javax.swing.JTextField();
public void keyBoard() { java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher( createKeyEventDispatcher()); this.setBounds(100,100,400,300); }
public java.awt.KeyEventDispatcher createKeyEventDispatcher(){ return new java.awt.KeyEventDispatcher(){ public boolean dispatchKeyEvent(java.awt.event.KeyEvent e){
Tja... det begynder at lugte derhenad! Og hvis det virker, ser det da ud til at det kan bruges... Meeeen... kan det virkelig passe, at det ikke er muligt, at få focusTraversalPolicy til at virke! Hvis det skal gøres... så syntes jeg nu at det skal gøres ordentligt! Og klassen er jo lavet til det samme!
Men du får point for den kreative tankegang :) Så må vi jo håbe at jeg finder ud af det andet, på et andet tidspunkt ;)
Helt enig, selvfølgelig kan focusTraversalPolicy komme til at virke og også løse opgaven, det kræver kun, man ved hvordan den fungerer.
Jeg lytter med, i håbet på du finder løsningen med focusTraversalPolicy !
PS. Erstat lige 'transferFocus()' med 'getFocusOwner().transferFocus()' så virker det bedre.
Synes godt om
Ny brugerNybegynder
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.