Affectation variable dans un tableau

developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 16 juin 2006 à 10:18
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 16 juin 2006 à 21:27
bonjour tout le monde

J'ai un problème, je n'arrive pas à affecter des variable dans une JTable

Voici la class tableaupreve

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JTable;



public class Tableaupreve  {





modetable mo = new modetable();





Calcul c;



 public Tableaupreve() {
 
 int i;
 
 i=mo.getrows();



 
 String dat;
 
 dat=mo.getDate();
 



 float real;



 real=c.getSommprelev();



 String paiement;



 paiement = String.valueOf(real);





 String[][] rowData = new String[i][2];
 String[] columnNames = new String[2];
 
 columnNames[0]="Date";
 columnNames[1]="Somme prélevée";



 JTable rembourcement = new JTable(rowData,columnNames);
 JScrollPane sroll = new JScrollPane(rembourcement);
 
 rembourcement[i][0]=dat;



 rembourcement[i][1]=paiement;
}





}



Voici la class modetable

import javax.swing.table.AbstractTableModel;



import java.util.Vector;



import java.util.GregorianCalendar;
import java.util.Calendar;
import java.util.Date;



public class modetable extends AbstractTableModel
{





Calcul c = new Calcul();



GregorianCalendar calendar = new java.util.GregorianCalendar();



int ligne=0;
int j,nb;
float preleve=0;



public Object getValueAt(int rows, int cols)
{




 



return 0;
}





public void setValuAt(Object aValue,int row, int column)
{




 




 





}
public int getrows()
{



nb=c.getTemps();



nb=nb*12;



ligne=nb;



for(j=1;j<ligne;j++)
{



}



return j;
}



public int getRowCount()
{



return 0;
}
public int getColumnCount()
{



return 0;
}



public String getDate()
{



GregorianCalendar d = new GregorianCalendar();



String jour = Integer.toString(d.get(Calendar.DAY_OF_WEEK));



String moi = Integer.toString(d.get(Calendar.MONTH));



String annee = Integer.toString(d.get(Calendar.YEAR));



String date = new String(jour+"/"+moi+"/"+annee);



return date;
}



}





Voici l'erreur

Tableaupreve.java:47: array required, but javax.swing.JTable found
        rembourcement[i][0]=dat;
                                ^
Tableaupreve.java:49: array required, but javax.swing.JTable found
        rembourcement[i][1]=paiement;
                               ^
2 errors

Je dois afficher le contenue de c'est de variable dans une JTable.
 
Pouvez vous m'aider?

Merci

Cordialement

A bientôt

2 réponses

deiz21 Messages postés 11 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008
16 juin 2006 à 10:58
salut,
au fait sans avoir implémenter toi même la JTableModel tu ne peux pas accéder directement à une case bien spécifique de ta JTable. alors il te faut a chaque fois remplir toutes les cellules de la table même si tu ne compte changer ou inserer qu'une seule valeur.
bref je te passe un petit bout de code (à adapter biensur)
Je sais que c'est pas la meilleur solution mais ce sera un bon début pour que tu te bloque pas là ou t'es.
au fait tu dois faire accépter ta JTable une matrice (vector de vector) qui contient toutes tes valeurs Ainsi:

//Le vector principal qui contiendra les autres vectors
 Vector all=new Vector();
//vector spécialement pour l'entete (les titres des cols)
      Vector name=new Vector();
      name.add("NCI");
      name.add("Nom");
      name.add("Prénom");
      name.add("Adresse");
      name.add("Date de naissance");
// tu boucle (en cas de besoin pour remplir tes valeurs
// par exemple ici rs est un record set d'une base de données
      while(rs.next()){
//pour chaque iteration on construit un nouveau vector
        Vector line=new Vector();
//on le remplit avec les valeurs d'une ligne
        for(int i=0;i<5;i++){
          line.add(rs.getString(i+1));
        }
//on ajoute ce vector au vector principal
        all.add(line);
      }
//enfin on oblige la JTable a avoir toute les nouvelles valeurs
      jTable1.setModel(new DefaultTableModel(all,name));

En conclusion tu dois toujours garder le vector all et ajir sur ce vector pour toute modification et enfin dire a la JTable d'en prendre ses valeurs.
Voilà, Bon courage.
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
16 juin 2006 à 21:27
Bonsoir tout le monde


La je n'ai pas compris comment affecter mes variables à la Jtable.


Je ne comprend pas ton example deiz21

C'est pour un affichage apres le calcul.

A +
0
Rejoignez-nous