Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138

    [Java] Form con NetBeans e proprietà tabindex

    Ho creato un form con Netbeans e vorrei dare un mio ordine personale allo scorrimento mediante il TAB della tastiera alle varie caselle di testo.
    Insomma vorrei modificare quella che su Visual Basic è la proprietà TABINDEX.

    Solo che non la trovo......

    E' possibile?

    Grazie

  2. #2
    Puoi fare tutto "a mano" senza utilizzare il GUI builder di Netbeans, definendo un FocusTraversalPolicy personalizzato. Ad esempio:

    Codice PHP:
    ...
    Vector<Componentorder = new Vector<Component>(4);
    order.add(tf1);
    order.add(tf2);
    order.add(tf3);
    order.add(tf4);
    MyOwnFocusTraversalPolicy newPolicy = new MyOwnFocusTraversalPolicy(order);
    tuoJFrame.setFocusTraversalPolicy(newPolicy);
    ... 
    Con tf1, tf2.. sono i tuoi componenti nell'ordine desiderato.

    La classe personalizzata:

    Codice PHP:
    public static class MyOwnFocusTraversalPolicy
                      
    extends FocusTraversalPolicy
        
    {
            
    Vector<Componentorder;

            public 
    MyOwnFocusTraversalPolicy(Vector<Componentorder) {
                
    this.order = new Vector<Component>(order.size());
                
    this.order.addAll(order);
            }
            public 
    Component getComponentAfter(Container focusCycleRoot,
                                               
    Component aComponent)
            {
                
    int idx = (order.indexOf(aComponent) + 1) % order.size();
                return 
    order.get(idx);
            }

            public 
    Component getComponentBefore(Container focusCycleRoot,
                                                
    Component aComponent)
            {
                
    int idx order.indexOf(aComponent) - 1;
                if (
    idx 0) {
                    
    idx order.size() - 1;
                }
                return 
    order.get(idx);
            }

            public 
    Component getDefaultComponent(Container focusCycleRoot) {
                return 
    order.get(0);
            }

            public 
    Component getLastComponent(Container focusCycleRoot) {
                return 
    order.lastElement();
            }

            public 
    Component getFirstComponent(Container focusCycleRoot) {
                return 
    order.get(0);
            }
        } 
    Trovi un esempio completo qui
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    grazie mille ha funzionato.

    Com'è complicato però mamma mia....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.