Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    8

    JCheckBox.get().setSelected();

    Buongiorno,
    Dopo aver creato un Array di CheckBox non riesco con un pulsante esterno a selezionarlli tutti.

    ho scritto questo: CBox e il mio array di list JCheckBox

    for(int a=0;a<CBox.size();a++){

    CBox.get(a).setSelected(true);
    }

    Non riesco a capire perche non mi visualizza la spunta o meglio dire non me lo seleziona.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da DCG Visualizza il messaggio
    CBox e il mio array di list JCheckBox

    for(int a=0;a<CBox.size();a++){

    CBox.get(a).setSelected(true);
    }

    Non riesco a capire perche non mi visualizza la spunta o meglio dire non me lo seleziona.
    Se CBox è un List<JCheckBox> (o più specificatamente un ArrayList<JCheckBox> ) di per sé è tecnicamente corretto quello che hai scritto. Si può scrivere più elegante usando il for-each di Java 5 ma non è quello il punto.

    Se non fa quello che ti aspetti ... probabilmente c'è dell'altro. Ma senza vedere il resto è difficile dirlo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    8
    Ciao in primis grazie per la risposta.

    Come vedi io ho creato tramite pulsante una Tabella con questo ArreyList di JCheckBox


    private void RenameActionPerformed(java.awt.event.ActionEvent evt) {


    TabellaRinomina = new JFrame("Rename Point");
    TabellaRinomina.setBounds(30,50,700,500);
    TabellaRinomina.setBackground(Color.ORANGE);
    Container cp = TabellaRinomina.getContentPane();
    CheckBoxSpace.setLayout(new GridLayout(variabiliUsate.size(),1));
    CheckBoxSpace.setBackground(Color.ORANGE);
    jPanel1.setBackground(Color.ORANGE);
    for(int i=0; i<variabiliUsate.size();i++){
    if ("".equals(variabiliUsate.get(i))){

    } else {
    primo = new JCheckBox(variabiliUsate.get(i));
    if (!primopush2){

    primo.setBackground(Color.ORANGE);
    CheckBoxSpace.add(primo);
    CheckBoxSpace.add(new JTextField(), (new GridLayout(variabiliUsate.size(),2)));
    }

    }
    }
    primopush2=TRUE;
    cp.add(SeqCheckBox);
    cp.add(jPanel1, BorderLayout.EAST);
    TabellaRinomina.setDefaultCloseOperation(JFrame.DI SPOSE_ON_CLOSE);
    TabellaRinomina.setVisible(true);

    }

    Solo in questo caso uso il mio arrayList.
    Mi sembra starno anche perché se interrogo l'oggetto in questione(naturalmente spuntandolo manualmente) con il metodo isSelect() ho la risposta giusta.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    8
    Ciao
    Grazie la tua risposta inziale mi ha dato un input.

    Ho Risolto cosi e sembra funzionare


    for( Component comp : CheckBoxSpace.getComponents() ) {
    if( comp instanceof JCheckBox) {

    ((JCheckBox) comp).setSelected(true);


    }
    }

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da DCG Visualizza il messaggio
    Ho Risolto cosi e sembra funzionare
    Sì ma così è abbastanza "brutto". Iteri tutti i componenti di un "contenitore", devi testare il tipo e fare un cast.

    Le alternative SICURAMENTE ci sono, migliori. Non ho purtroppo una visione completa sul tuo codice. Devi tenere un array/lista di quei JCheckBox, che siano ovviamente esattamente quelli che poi aggiungi fisicamente in un contenitore.
    A quel punto ... non vedo perché non debba funzionare! E se non ti funziona ... allora c'è dell'altro che non ho idea ora.

    Inoltre il tuo codice è un pochino confuso, perché non segui le convenzioni standard: i nomi di variabili dovrebbero avere la iniziale minuscola.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    8
    Ciao
    In primis ti ringrazio per tutti i consigli che mi dai. So che il mio codice e confuso anzi direi confusissimo ma e la prima volta in vita mia che programmo non sapevo nemmeno delle convenzioni standard.
    Grazie ancora.

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.