RadioButton dans une JTable [Résolu]

Messages postés
91
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
24 octobre 2008
- - Dernière réponse : cs_Noizet
Messages postés
91
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
24 octobre 2008
- 10 sept. 2008 à 13:30
Hello,

J'ai créer une JTable qui contient des RadioButton dans la première colonne. Ces radios boutons sont séléctionné par défaut.

Si je ne décoche pas le bouton pour le recocher, il le voit comme étant nulle.

Quelqu'un aurait une idée de pourquoi il le voit nulle la première fois et comment je peux y remédier?

Code de mon propre tableCell :

public class TablePerso extends DefaultTableCellRenderer implements TableCellEditor {
...
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
        JComponent contenu = null;
        if (value == null) {
            JRadioButton bouton = new JRadioButton();
            bouton.setSelected(true);
            table.setValueAt(bouton, row, column);
            contenu = bouton;
    } else{
            contenu = new JLabel(value.toString(), CENTER);
        }
        return contenu;
    }
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        JComponent contenu = null;
        if (value == null) {
            JRadioButton bouton = new JRadioButton();
            bouton.setSelected(true);
            contenu = bouton;
    } else{
            contenu = new JLabel(value.toString(), CENTER);
        }
       
        return contenu;
    }
}

Code qui créer la JTable :
 Object[][] donnee = {{null,"ok","ok"},{null,"ok","ok"},{null,"ok","ok"}};
                        Object[] nomColonne = {"","essai1","essai2"};
                        tableau = new JTable(new TableModelPerso(donnee,nomColonne));
                        tableau.setDefaultRenderer(Object.class, new TableCellPerso());
                        tableau.getColumnModel().getColumn(0).setCellEditor(new TableCellPerso());

TableModelPerso extends DefaultTableModel !

Merci de votre aide !!

"NoiZet"
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
91
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
24 octobre 2008
3
3
Merci
Problème résolu :

Je créer directement le bouton dans mon contenu de ma JTable.

Puis j'ai modifié légérement le code de ces deux méthodes :

public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
        Component contenu = null;
        if (value instanceof JRadioButton) {
            JRadioButton bouton = (JRadioButton)value;
            contenu = bouton;
        }
        return contenu;
    }

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        Component contenu = null;
        if (value instanceof JRadioButton) {
            contenu = (Component)value;
        }

        return contenu;
    }

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 108 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Noizet
Messages postés
91
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
24 octobre 2008
3
0
Merci
J'ai oublié de préciser, à l'écran, les radios boutons apparaissent bien et ils sont sélectionnes!

"NoiZet"
Commenter la réponse de cs_Noizet

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.