Les headers d'un JTable

pianedd777 Messages postés 4 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 21 février 2006 - 15 févr. 2006 à 11:18
cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 - 20 févr. 2006 à 19:56
J'essaie d'utiliser un JTable, mais les headers de la JTable ne s'affichent pas, je ne comprends pas !!! Pourtant j'utilise un code simple pour commencer, le voici :

String [] titres = {"test", "test"} ;
Object [][] donnees = {
{"1", "2"},
{"2", "3"} };

JFrame fen = new JFrame("Test Jtables");
JTable tableau = new JTable(donnees, titres);
JScrollPane scroll = new JScrollPane (tableau);

tableau.getTableHeader().setVisible(true);

fen.getContentPane().add(tableau);
fen.setSize(200,200);
fen.setVisible(true);

Y-a t'il quelqu'un qui pourrai m'aider ?
Merci d'avance

9 réponses

cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
15 févr. 2006 à 12:00
Normalement il suffit de faire:

String[] columnNames = {"Prénom", "Nom"};
String[][] data = {{"Mickey", "Mouse"},{"Test","Toto"}};

JTable table = new JTable(data, columnNames);

Tu n'as pas besoin de spécifier tableau.getTableHeader().setVisible(true);

"A game is a series of interesting choices." Sid Meier
0
pianedd777 Messages postés 4 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 21 février 2006
15 févr. 2006 à 12:04
D'accord, mais même sans cette instruction, ça ne fonctionne pas (je l'ai ajoutée, car ça ne marchait pas)

Maintenant, j'ai repris, un autre exemple, sur le Web, on dirait que ça fonctionnne.. maintenant, je vais essayer de voir quelle est la cause de mon problème !!!
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
15 févr. 2006 à 13:15
salut

je te conseille d'implementer un DefaultTableModel que tu
associeras à ta table (il faudra qu'elle soit dans un JScrollPane)

Voici un exemple :

package projet.gui;



//Importation des packages nécessaires

import javax.swing.table.DefaultTableModel;



/**

* Titre : ClientTableModel


* Description : Classe permettant de gérer la gestion de la table des clients


* Copyright : Copyright (c) 2006


* Société : perso


* @author indiana_jules

* @version 1.0

*/

public class ClientTableModel extends DefaultTableModel {

/**Constructeur par défaut*/

public ClientTableModel() {

super();

this.addColumn("Adresse IP");

this.addColumn("Identifiant");

}

}

Voilà


le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
g_fuck Messages postés 269 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 23 août 2011
15 févr. 2006 à 13:58
salut ce message est pour ducheseb
J.BAHOLE
0

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

Posez votre question
cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
15 févr. 2006 à 19:08
Quel message??

"A game is a series of interesting choices." Sid Meier
0
g_fuck Messages postés 269 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 23 août 2011
17 févr. 2006 à 10:35
hooops!!!!
Je demandais comment tu fesais pour inserer des elements dans un
Jtable(Data[][],Colomn[]).Imaginons une appli ou t'es oblige de creer en premier le JTable sans elements inseres
J.BAHOLE
0
cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
17 févr. 2006 à 23:12
Eh ben, c'est pas trop compliqué.

Au lieu d'utiliser un tableau, tu peux utiliser un Vecteur.

Ensuite tu peux faire un truc dans le genre:
class tableExemple...
JTable table;
Vector rows,columns;
DefaultTableModel tabModel;
JScrollPane scrollPane;

tableExemple()
{
rows=new Vector();
columns= new Vector();
String[] columnNames =
{
"Nom",
"Prenom"
};
addColumns(columnNames);

tabModel=new DefaultTableModel();
tabModel.setDataVector(rows,columns);

table = new JTable(tabModel);
}

avec les fonctions :
public void addColumns(String[] colName)
{
for(int i=0;i<colName.length;i++)
columns.addElement((String) colName[i]);
}

public void addRow(String nom, String prenom)
{
Vector r=new Vector();
r.addElement(nom);
r.addElement(prenom);
rows.addElement(r);
table.addNotify();

}

void deleteRow(int index)
{
if(index!=-1)
{
rows.removeElementAt(index);
table.addNotify();
}

}

Ensuite, tu n'as plus qu'à appeler ces methodes pour ajouter et supprimer des lignes.

"A game is a series of interesting choices." Sid Meier
0
g_fuck Messages postés 269 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 23 août 2011
20 févr. 2006 à 13:50
merci beaucoup !!!
encore un autre probleme qui me ronge !!!
comment efacer un JLabel d'un JPanel ???

J.BAHOLE
0
cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
20 févr. 2006 à 19:56
avec SetText() tu peux supprimer le texte, sinon, tu peux utiliser setVisible(false)

"A game is a series of interesting choices." Sid Meier
0
Rejoignez-nous