Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    64

    JAVA vettore di elementi di una finestra

    Ciao a tutti,

    sto cercando di realizzare un interfaccia con Netbeans questa presenta diversi componenti da Checkbox a Textfield quello che vorrei fare è che alla pressione di un pulsante venisse eseguito un thread che compie determinate operazioni su questi componenti (per esempio scrivere nelle Textfield o "spuntare" le Checkbox), ma essendo molti elementi da dover gestire volevo raggruppare i componenti della finestra in una lista o in un vettore di elementi così da poter richiamare e passare al thread solo il gruppo di componenti sul quale agire.
    Questo è uno schema dell'interfaccia per capirci

    Tf Tf Tf Tf Tf Cb Cb
    ....
    Tf Tf Tf Tf Tf Cb Cb

    Tf=Textfield Cb=Checkbox

    Ho dieci righe organizzate in questa maniera ognuna viene gestita da un thread in base a quello che legge da un file compila i campi della riga...da qui la mia necessità di passare solo una parte dei componenti al thread ovviamente indicizzandoli in qualche maniera sarebbe più comodo, ma non so se sia fattibile
    Io avevo provato così:
    codice:
    Vector v = new Vector();
    v.add(C1)//Check box
    ....
    v.add(T1)//Textfield
    ...
    v.elementAt(1).setSelected(true);//vorrei andare a "spuntare la Checkbox"
    il compilatore mi dice che la classe Object non riconosce il metodo setSelected() che ovviamente è tipico di una Checkbox

    Qualcuno sa come posso aggirare questa cosa o ha quache altra soluzione in proposito...anche a livello generale per risolvere il mio problema...grazie

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790

    Re: JAVA vettore di elementi di una finestra

    Originariamente inviato da Tone_A
    Ciao a tutti,

    sto cercando di realizzare un interfaccia con Netbeans questa presenta diversi componenti da Checkbox a Textfield quello che vorrei fare è che alla pressione di un pulsante venisse eseguito un thread che compie determinate operazioni su questi componenti (per esempio scrivere nelle Textfield o "spuntare" le Checkbox), ma essendo molti elementi da dover gestire volevo raggruppare i componenti della finestra in una lista o in un vettore di elementi così da poter richiamare e passare al thread solo il gruppo di componenti sul quale agire.
    Questo è uno schema dell'interfaccia per capirci

    Tf Tf Tf Tf Tf Cb Cb
    ....
    Tf Tf Tf Tf Tf Cb Cb

    Tf=Textfield Cb=Checkbox

    Ho dieci righe organizzate in questa maniera ognuna viene gestita da un thread in base a quello che legge da un file compila i campi della riga...da qui la mia necessità di passare solo una parte dei componenti al thread ovviamente indicizzandoli in qualche maniera sarebbe più comodo, ma non so se sia fattibile
    Io avevo provato così:
    codice:
    
    Vector v = new Vector();
    v.add(C1)//Check box
    ....
    v.add(T1)//Textfield
    ...
    v.elementAt(1).setSelected(true);//vorrei andare a "spuntare la Checkbox"
    il compilatore mi dice che la classe Object non riconosce il metodo setSelected() che ovviamente è tipico di una Checkbox

    Qualcuno sa come posso aggirare questa cosa o ha quache altra soluzione in proposito...anche a livello generale per risolvere il mio problema...grazie
    devi convertire l'object ritornato da elementAt() a JComboBox
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    64
    Come faccio a riconvertirlo a JComboBox o JTextField??

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    64
    Mi rispondo da solo
    codice:
                  a = (javax.swing.JCheckBox) v.elementAt(i);
                  a.setSelected(true);

  5. #5
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da Tone_A
    Mi rispondo da solo
    codice:
                  a = (javax.swing.JCheckBox) v.elementAt(i);
                  a.setSelected(true);
    proprio così..avevo scritto JComboBoxmi ero sbagliato
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JAVA vettore di elementi di una finestra

    Originariamente inviato da Tone_A
    volevo raggruppare i componenti della finestra in una lista o in un vettore di elementi così da poter richiamare e passare al thread solo il gruppo di componenti sul quale agire.
    Non so cosa devi fare di preciso, ma occhio che, in generale, le operazioni sui componenti (salvo casi particolari) vanno fatte solo nel contesto del EDT, event dispatch thread.
    setText() di JTextComponent (e derivati) è documentato come thread-safe, quindi ok se lo invochi da un altro thread. Mentre setSelected() di AbstractButton (e derivati) non è thread-safe.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.