Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [Java] Ordine di tabulazione

    Salve a tutti.... vi chiedo un aiuto.

    In un JPanel ho una serie di JTextField,
    non so come ordinare le tabulazioni,
    ovvero rendere ordinata la selezione dei
    campi JTextField per l'inserimento dei dati.

    Grazie per l'attenzione.

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Puoi spiegarti meglio?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Certo....

    ..... in un JPanel con layout GridBagLayout
    inserisco un certo numero di JTextField e relativi JLabel
    ordinati in un certo modo a creare un pannello per inserimenti
    di dati. In tale pannello però, se sposto il focus da un JTextField
    ad un altro con il tasto TAB, questo avviene in maniera non graficamente
    ordinata, ovvero il focus passa dal primo al terzo campo, piuttosto che dal
    secondo al settimo!! Preciso che i JTextField sono posti in varie righe e colonne
    del GridBagLayout. Io vorrei ordinare il focus delle tabulazioni, dando una successione
    ben definita.

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Se ho capito bene, questo dovrebbe fare al caso tuo
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Grazie... proverò a studiarlo.

  6. #6
    Ho guardato il link che mi hai postato,
    non riesco a capire la classe MyOwnFocusTraversalPolicy()
    dov'è!?

    Supponendo di avere un array di JTextField:
    Fields[] arrayField = {fieldCognome,fieldNome,fieldMatricola,fieldQualif ica,fieldDataAssunzione,fieldDataNascita,fieldLuog oNascita,fieldResidenza};


    mi faresti un esempio!? Grazie.

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Alla fine della pagina ci sono i file completi degli esempi

    http://docs.oracle.com/javase/tutori...ersalDemo.java
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,319
    Originariamente inviato da Wolvy23
    Ho guardato il link che mi hai postato,
    non riesco a capire la classe MyOwnFocusTraversalPolicy()
    dov'è!?
    Al link segnalato sul tutorial:
    http://docs.oracle.com/javase/tutori...ersalDemo.java

    Supponendo di avere un array di JTextField:
    Fields[] arrayField = {fieldCognome,fieldNome,fieldMatricola,fieldQualif ica,fieldDataAssunzione,fieldDataNascita,fieldLuog oNascita,fieldResidenza};


    mi faresti un esempio!? Grazie.
    codice:
    Vector<JTextField> v = new Vector<JTextField>();
    for(JTextField jtf : arrayField) v.add( jtf );
    MyOwnFocusTraversalPolicy policy = new MyOwnFocusTraversalPolicy( v );
    frame.setFocusTraversalPolicy( policy )
    (Ultima riga di quella sezione di tutorial).
    L'ordine con cui le textfield sono presenti nell'array (e, quindi, con cui io le vado poi a inserire nel Vector) rappresenta l'ordine di tabulazione, poichè questa è la regola dettata da quella classe.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Ho creato la Classe MyOwnFocusTraversalPolicy() e
    nel codice dove costruisco il JFrame ho inserito questo codice:
    codice:
    Fields[] arrayTab = {fieldCognome,fieldNome,fieldMatricola,fieldDataNascita,fieldLuogoNascita,
    				fieldResidenza,fieldDataAssunzione,fieldMatri_A,fieldMatri_B};
    		Vector<Fields> v = new Vector<Fields>();
    		for(Fields jtf : arrayTab) v.add( jtf );
    		MyOwnFocusTraversalPolicy policy = new MyOwnFocusTraversalPolicy( v );
    		setFocusTraversalPolicy( policy );
    Ma l'ordine di tabulazione avviene in senso orizzontale e non
    verticale; immaginate che i JTextField sono posti su due colonne
    e l'ordine di come sono stati inseriti nell'array è dall'alto della
    prima colonna a scorrere verso il basso e poi passano alla cima della
    seconda colonna e a scorrere verso il basso.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.