Affichage de la somme des colonnes d'un jTable dans la dernière colonne [Résolu]

Messages postés
119
Date d'inscription
mardi 8 avril 2008
Dernière intervention
22 décembre 2008
- 21 mai 2008 à 14:14 - Dernière réponse :
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 21 mai 2008 à 19:18
Bonjour,

je recherche la marche à suivre afin d'afficher dans la dernière colonne de mon jTable la somme des colonnes précédentes sur cet exemple :

colonne1   colonne2   colonne3    colonne4
    1               2               5               =8
    2               9               2               =13

Si quelqu'un peut m'indiquer la marche à suivre ce serais cool.

Merci.

Julien.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
134
Date d'inscription
samedi 26 mai 2007
Dernière intervention
31 mai 2010
- 21 mai 2008 à 14:38
3
Merci
Salut
est ce que tous va bien ?
voila la solution:

                      int w,total;
                      String c1,c2,c3,c4;
                  w=Table.getRowCount();
                      for(int i=0;i<w;i++){
c1=tableModel.getValueAt( i,0);
c2=tableModel.getValueAt( i,1);
c3=tableModel.getValueAt( i,2);
//--------------
     Integer mon1 = new Integer(c1);    
      int i1 = mon1.intValue();
     Integer mon2 = new Integer(c2);    
      int i2 = mon2.intValue();
     Integer mon3 = new Integer(c3);    
      int i3 = mon3.intValue();
total= i1 + i2 + i3;

String montexte = new String();
montexte =montexte.valueOf(total);
Object toto;
toto=montexte ;
tableModel.setValueAt(toto i,3);
                      }

@+

% Mauvais Sens %

Merci amine1234Z 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de amine1234Z
Meilleure réponse
Messages postés
134
Date d'inscription
samedi 26 mai 2007
Dernière intervention
31 mai 2010
- 21 mai 2008 à 16:07
3
Merci
Salut

private static DefaultTableModel tableModel;

    tableModel = new DefaultTableModel();
    Table = new JTable(tableModel) {

        private static final long serialVersionUID = 1L;

          public Class getColumnClass(int column) {

 return getValueAt(1, column).getClass();

                       }

    };

    scTable = new JScrollPane(Table);
    tableModel.addTableModelListener(new TableModelListener() {
          public void tableChanged(TableModelEvent evnt) {

          updateDBRow(evnt);

           }

       });

c'est comme ca que je travail
@+

% Mauvais Sens %

Merci amine1234Z 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de amine1234Z
Meilleure réponse
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 21 mai 2008 à 19:18
3
Merci
Salut:

Un autre détail qui m'a échappé. La méthode getValueAt() est aussi une méthode de la classe JTable. (En fait c'est cette méthode est un raccourcis de la méthode getValueAt() de la classe DefaultTableModel).

Exemple d'utilisation:

try {
      // Calculer la somme de la colonne 4
      int sum = getSum(4);
} catch (NumberFormatException e) {
      // Erreur de cacul: certains données sont non entière
      e.printStackTrace();
}

Merci Ombitious_Developper 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
Messages postés
119
Date d'inscription
mardi 8 avril 2008
Dernière intervention
22 décembre 2008
- 21 mai 2008 à 15:37
0
Merci
Ouai sa va,

je te remerci et je te dis si j'ai un problème.

++.

Julien.
Commenter la réponse de Beberto56
Messages postés
119
Date d'inscription
mardi 8 avril 2008
Dernière intervention
22 décembre 2008
- 21 mai 2008 à 16:00
0
Merci
Re amine,

a quoi correspond tableModel stp car il ne le reconnait pas fo t'il que je le déclare ou ????

Merci++
Commenter la réponse de Beberto56
Messages postés
119
Date d'inscription
mardi 8 avril 2008
Dernière intervention
22 décembre 2008
- 21 mai 2008 à 16:15
0
Merci
re:
 
             int w,total;
            String c1,c2,c3,c4;
            w=table.getRowCount();
            c1=tableModel.getValueAt( i,0);
            c2=tableModel.getValueAt( i,1);
            c3=tableModel.getValueAt( i,2);

            Integer mon1 = new Integer(c1);    
            int i1 = mon1.intValue();
            Integer mon2 = new Integer(c2);    
            int i2 = mon2.intValue();
            Integer mon3 = new Integer(c3);    
            int i3 = mon3.intValue();
            total= i1 + i2 + i3;

            String montexte = new String();
            montexte =montexte.valueOf(total);
            Object toto;
            toto=montexte ;
            tableModel.setValueAt(toto i,3);

Pour les partie en rouge il me demande si je veux créer une class ou un field tableModel.
Voila plus précisément les erreurs qu'il me renvoi.

Dois je faire une instance un import ou???

NB: mon tableau est noté table.

Merki.

julien.
Commenter la réponse de Beberto56
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 21 mai 2008 à 16:48
0
Merci
Salut Julien:

Je vois bien que l'éditeur de NetBeans ne te laisse pas liberté de modifier le code directement.

Tu dois procèder ainsi:

DefaultTableModel tableModel = (DefaultTableModel)table.getModel();
// ...
Commenter la réponse de Ombitious_Developper
Messages postés
119
Date d'inscription
mardi 8 avril 2008
Dernière intervention
22 décembre 2008
- 21 mai 2008 à 17:05
0
Merci
Salut Ombitious,

j'ai fais sa et je n'ai plus de pb avec le tableModel, mais il gueule pour la méthode getValueAt et il me renvoi:

getValueAt (int, int) in import javax.swing.table.DefaultTableModel cannot be applied to (i, int)

pour les trois lignes et il me met un autre probleme a cet endroit:   modele.setValueAt(montexte i,3); (comprend pas ce qu'il y a entre parenthèse)

donc c la galère arf^^;

Julien
Commenter la réponse de Beberto56
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 21 mai 2008 à 17:22
0
Merci
Salut:

Peut être que tu dois faire les conversions nécessaires:

public int getSum(int columnIndex) throws NumberFormatException {
    int sum = 0;
    if (columnIndex >= 0 && columnIndex < table.getColumnCount()) {
         DefaultTableModel tableModel = (DefaultTableModel)table.getModel();
         for (int row = 0; row < table.getRowCount(); ++row) {
                int value = Integer.paseInt((String)table.getValueAt(row, columnIndex));
                sum += value;
         }
    }else {
       throw new IndexOutOfBoundsException();
    }
    return sum;
}

Exemple d'utilisation:

try {
      // Calculer la somme de la colonne 4
      getSum(4);
} catch (NumberFormatException e) {
      // Erreur de cacul: certains données sont non entière
      e.printStackTrace();
}
Commenter la réponse de Ombitious_Developper

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.