List à 2 colonnes?? ou Jtable

cs_math85 Messages postés 58 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 janvier 2005 - 17 sept. 2003 à 12:15
cid019 Messages postés 237 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 juillet 2006 - 2 juin 2004 à 17:06
bonjour,

j'utilise pour une appli une List pour afficher une serie de données.

ces données viennent d'un fichier. donc elles changent plusieurs fois par lancement d'application.

Maintenant le fichier a changé et il me faudrait 2 colonnes à la list.

j'ai regardé les JTable mais j'y comprend rien avec leurs classes en plus.

il me faudrait pouvoir changer la liste apres l avoir initialisé et ajoutée au panel.

g bien essayé avec des vecteurs ou des tableaux mais je n arrive plus a changer les valeurs apres avoir mis le add.

quelqu'un peu t il me renseigner??

merci

au fait dans la 1ere colonne il y a des String et dans la deuxieme des entiers.

m@th85

5 réponses

cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
17 sept. 2003 à 12:38
salut,
est ce que tu veux afficher les 2 colonnes ou c est pour faire comme en html ou dans access avec une colonne cachée ?
dans les deux cas il vau mieux passer par une classe a toi que tu met dans ta liste.
Dans cette classe tu met une methode toString qui renvoit un String representant ce que tu veux afficher dans ta liste.
Duss
0
cs_math85 Messages postés 58 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 janvier 2005
17 sept. 2003 à 14:25
c ce que j'ai fait mais ca fait tout moche, les chiffres sont pas alignés
j voudrait vraiment 2 cols

m@th85
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
17 sept. 2003 à 15:08
a mon avis il ne te reste que la jtable !!!
Duss
0
cs_math85 Messages postés 58 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 janvier 2005
17 sept. 2003 à 16:46
ya pas qqun ki a un exemple avec une jtable dont il ajoute des elements apres avoir fait le add(jtable) (sur un bt pr exemple).
ca serait cool.

m@th85
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cid019 Messages postés 237 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 juillet 2006
2 juin 2004 à 17:06
voila une classe qui herite d'une JTable

class LignesModel extends AbstractTableModel
{
private Vector vc1;
private Vector vc2;
private Vector vc3;

String col1, col2, col3;

public LignesModel(String c1, String c2, String c3)
{
col1 = c1;
col2 = c2;
col3 = c3;

vc1 = new Vector();
vc2 = new Vector();
vc3 = new Vector();
}

public void effacerTout()
{
vc1.clear();
vc2.clear();
vc3.clear();
}

public void ajouterLigne(String c1, String c2, String c3)
{
vc1.add(c1);
vc2.add(c2);
vc3.add(c3);
}

public String[] getColonne(int index)
{
Vector vres;

switch(index)
{
case 1:
vres = vc1;
break;
case 2:
vres = vc2;
break;
case 3:
vres = vc3;
break;
default:
vres = new Vector();
}

String[] res = new String[vres.size()];

for (int i = 0; i < vres.size(); ++i)
{
res[i] = (String)vres.get(i);
}

return res;
}

public int getColumnCount()
{
return 3;
}

public int getRowCount()
{
return vc1.size();
}

public String getColumnName(int col)
{
switch(col)
{
case 0:
return col1;
case 1:
return col2;
case 2:
return col3;
default:
return "";
}
}

public Object getValueAt(int parm1, int parm2)
{
switch(parm2)
{
case 0:
return vc1.get(parm1);
case 1:
return vc2.get(parm1);
case 2:
return vc3.get(parm1);
default:
return "";
}
}

public boolean isCellEditable(int row, int col)
{
return true;
}
}

apres tu declares :
LignesModel tavariable;
JTable taJTable;
JScrollPane scrollPane;

tu initialises :

tavariable = new LignesModel("ch1","ch2","ch3"),
taJTable = new JTable(tavariable);
scrollPane = new JScrollPane(taJTable);

Ensuite tu ajoutes le scrollPane a la fenetre(ou Panel)
Panel.add(scrollPane);

voila ta JTable est affichée.

Pour rajouter des lignes utilises la méthode ajouterLigne(String c1, String c2, String c3) definit plus haut.

voila j'espere t'avoir aidé

cid019
0
Rejoignez-nous