IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Jbouton dans Jtable quia son AbstractTableModel


Sujet :

Composants Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 15
    Par défaut Jbouton dans Jtable quia son AbstractTableModel
    Bonjours, alors je suis actuellement en stage, je fait une application en java et j'aurai besoin de votre aide :

    Pour résumer :
    j'ai un jtable qui a son abstractTablemodel. le tableau est un tableau de contact (nom, prénom, ...) et je souhait rajouter une colonne avec un bouton par ligne qui aura comme action de supprimer la ligne ou se situe le bouton.
    Et la je bloque je comprend rien au différent exemple sur internet.
    Les données sont chargées via une base de donnée


    Code l'abstractTablemodel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    package IHM;
     
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.table.AbstractTableModel;
    import DAO.ContactHasApplicationHome;
    import DAO.ContactHome;
    import util.Contact;
    import util.ContactHasApplication;
     
    public class Table_Contact extends AbstractTableModel {
     
        private static final long serialVersionUID = 1L;
     
        private final List<Contact> List_Contact= new ArrayList<Contact>();
     
        private final String[] entetes = {"Id", "Nom", "Prénom", "Téléphone", "Email", "Entreprise", "Supprimer"}; // l’entête supprimer et pour la colonne avec les boutons    
     
     
        public Table_Contact() // constructeur basique
        {
            super();
            ContactHome contact = new ContactHome();
            List <Contact> list= contact.ListContact(); // récuper la liste des contact
            for(int i =0; i<list.size();i++)
            {
                Contact cont = list.get(i);
                List_Contact.add(cont);
            }
        }
     
        public Table_Contact(int id_application, int type) // constructeur selon le type de contact
        {
            super();
            ContactHasApplicationHome contactHasApplication = new ContactHasApplicationHome();
            ContactHome contact = new ContactHome();
            List <ContactHasApplication> list= contactHasApplication.ListContactHasApplication(); 
     
            for(int i =0; i<list.size();i++)
            {
                if((list.get(i).getApplicationIdApplication()==id_application)&&(list.get(i).getTcontactIdTcontact()== type))
                {
                    Contact cont = contact.get_byId(list.get(i).getContactIdContact());
                    List_Contact.add(cont);
                }
            }
        }
     
     
        @Override
        public int getColumnCount() {
            // TODO Auto-generated method stub
            return entetes.length;
        }
     
        @Override
        public int getRowCount() {
            // TODO Auto-generated method stub
            return List_Contact.size();
        }
     
         public String getColumnName(int columnIndex) {
                return entetes[columnIndex];
            }
     
        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {
            switch(columnIndex){
            case 0:
                return List_Contact.get(rowIndex).getIdContact();
            case 1:
                return List_Contact.get(rowIndex).getNom();
            case 2:
                return List_Contact.get(rowIndex).getPrenom();
            case 3:
                return List_Contact.get(rowIndex).getTelephone();
            case 4:
                return List_Contact.get(rowIndex).getEmail();
            case 5:
                return List_Contact.get(rowIndex).getEntreprise(); 
            /*case 6:
                return new ButtonRenderer();*/ je dois mettre quoi là? pour la colonne à bouton
            default:
                return null; 
            }
        }
     
        public void removeContact(int rowIndex)
        {
            List_Contact.remove(rowIndex);
            fireTableRowsDeleted(rowIndex, rowIndex);
        }
     
        public void addContact(Contact C) {
            List_Contact.add(C);
            fireTableRowsInserted(List_Contact.size() -1, List_Contact.size() -1);
        }
     
        public Contact getData(int  row)
        {
            return List_Contact.get(row);
        }
     
        public List<Contact> getContact() {
            return List_Contact;
        }
     
    }

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 15
    Par défaut
    Bon en fait j'ai contourner le problème, plutôt qu'un bouton j'ai mit des checkbox et un bouton supprimer sous mon tableau qui supprime toute les checkbox true.

    Je met la solution pour ce qui veulent

    Mon new AbstractTableModel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
     
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.table.AbstractTableModel;
    import DAO.ContactHasApplicationHome;
    import DAO.ContactHome;
    import util.Contact;
    import util.ContactHasApplication;
     
    public class Table_Contact extends AbstractTableModel {
     
    	private static final long serialVersionUID = 1L;
     
    	private final List<Contact> List_Contact= new ArrayList<Contact>();
    	Table_Contact moi = this;
     
    	private final String[] entetes = {"Id", "Nom", "Prénom", "Téléphone", "Email", "Entreprise", "Supprimer"};
    	private boolean[] lignesSelectionnees; // colonne ou y aura les checkbox
     
        public Table_Contact()
        {
        	super();
        	ContactHome contact = new ContactHome();
        	List <Contact> list= contact.ListContact();
        	for(int i =0; i<list.size();i++)
        	{
        		Contact cont = list.get(i);
        		List_Contact.add(cont);
        	}
        	lignesSelectionnees = new boolean[List_Contact.size()]; // ajuste la taille de la colonne
        }
     
        public boolean isCellEditable(int rowIndex, int columnIndex) {
        	if (columnIndex == 6) return true; // retourn vrai pour la colonne des checkbox
        	else return false; // sinon faux
    	}
     
        public Table_Contact(int id_application, int type)
        {
        	super();
        	ContactHasApplicationHome contactHasApplication = new ContactHasApplicationHome();
        	ContactHome contact = new ContactHome();
        	List <ContactHasApplication> list= contactHasApplication.ListContactHasApplication();
        	for(int i =0; i<list.size();i++)
        	{
        		if((list.get(i).getApplicationIdApplication()==id_application)&&(list.get(i).getTcontactIdTcontact()== type))
        		{
        			Contact cont = contact.get_byId(list.get(i).getContactIdContact());
        			List_Contact.add(cont);
        		}
        	}
             lignesSelectionnees = new boolean[List_Contact.size()];
        }
     
        @Override
        public Class<?> getColumnClass(int columnIndex) {
        	if (columnIndex == 6) return Boolean.class; // pour la colonne checkbox
        	else return String.class;
        }
     
    	@Override
    	public int getColumnCount() {
    		// TODO Auto-generated method stub
    		return entetes.length;
    	}
     
    	@Override
    	public int getRowCount() {
    		// TODO Auto-generated method stub
    		return List_Contact.size();
    	}
     
     
    	 public String getColumnName(int columnIndex) {
    	        return entetes[columnIndex];
    	    }
     
    	@Override
    	public Object getValueAt(int rowIndex, int columnIndex) {
    		switch(columnIndex){
            case 0:
                return List_Contact.get(rowIndex).getIdContact();
            case 1:
                return List_Contact.get(rowIndex).getNom();
            case 2:
                return List_Contact.get(rowIndex).getPrenom();
            case 3:
                return List_Contact.get(rowIndex).getTelephone();
            case 4:
                return List_Contact.get(rowIndex).getEmail();
            case 5:
                return List_Contact.get(rowIndex).getEntreprise(); 
            case 6:
            	return lignesSelectionnees[rowIndex];
            default:
                return null; 
    		}
    	}
     
    	@Override
    	public void setValueAt(Object value,int rowIndex, int columnIndex) {
    		switch(columnIndex){
            case 0:
                 List_Contact.get(rowIndex).setIdContact((Integer) value);
            case 1:
                 List_Contact.get(rowIndex).setNom((String) value);
            case 2:
                 List_Contact.get(rowIndex).setPrenom((String) value);
            case 3:
                 List_Contact.get(rowIndex).setTelephone((String) value);
            case 4:
                 List_Contact.get(rowIndex).setEmail((String) value);
            case 5:
                 List_Contact.get(rowIndex).setEntreprise((String) value); 
            case 6:
            	 lignesSelectionnees[rowIndex]= (Boolean) value;
            default:
            	break; 
    		}
    	}
     
    	public void removeContact(int rowIndex)
    	{
    		List_Contact.remove(rowIndex);
    		fireTableRowsDeleted(rowIndex, rowIndex);
    	}
     
    	public void addContact(Contact C) {
    		List_Contact.add(C);
            fireTableRowsInserted(List_Contact.size() -1, List_Contact.size() -1);
        }
     
    	public Contact getData(int  row)
    	{
    		return List_Contact.get(row);
    	}
     
    	public List<Contact> getContact() {
    		return List_Contact;
    	}
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrement valeur dans jtable
    Par piro dans le forum Composants
    Réponses: 4
    Dernier message: 05/04/2006, 14h51
  2. [JTable][RadioButton]Afficher groupe de boutons dans JTable
    Par leminipouce dans le forum Composants
    Réponses: 11
    Dernier message: 21/02/2006, 17h04
  3. Vérification de l'etat des JComboBox dans JTable
    Par nicotine002 dans le forum Composants
    Réponses: 5
    Dernier message: 26/01/2006, 11h47
  4. combobox dans jtable
    Par nicotine002 dans le forum Composants
    Réponses: 1
    Dernier message: 10/01/2006, 23h01
  5. Selection listener dans JTable
    Par calypso dans le forum Composants
    Réponses: 3
    Dernier message: 02/08/2004, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo