Salut!
Je travaille avec le SGBD PostgreSQL(pg admin) et Java sous NetBeans, et je veux afficher tout les données d'une table de la BDD dans un JTable, j'ai aucune idée comment faire, qui pourra m'aider ou me guider
Merci
Salut!
Je travaille avec le SGBD PostgreSQL(pg admin) et Java sous NetBeans, et je veux afficher tout les données d'une table de la BDD dans un JTable, j'ai aucune idée comment faire, qui pourra m'aider ou me guider
Merci
salut,
je suppose que pour réaliser ce que tu veux, tu dois te connecter à ta base, puis l'interroger avec une requête de selection et un ResultSet pour récupérer les résultats que tu vas utiliser pour remplir ta JTable.
bon courage!
je sais faire tout ça, donc quand je récupère le résultat je les mets dans une table, comment les mettre dans une table ? comment puis je indiquer que chaque ligne retourné doit être insérer dans la table ??
Bonjour
pour remplir ton JTable tu dois lui associer un "model" genre:
l'association se fait comme ceci:
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 import javax.swing.table.AbstractTableModel; import java.util.Vector; public class TableModel extends AbstractTableModel{ protected Vector data; //données protected Vector columnNames ; //noms de colonnes /** Creates a new instance of TableModelC */ public TableModel(Vector columnNames,Vector data) { this.columnNames=columnNames; this.data=data; } public int getRowCount() { return data.size()/getColumnCount(); } public int getColumnCount() { return columnNames.size(); } /** * noms des colonnes */ public String getColumnName(int columnIndex) { String colName=""; if (columnIndex <= getColumnCount()) colName=(String)columnNames.elementAt(columnIndex); return colName; } /** * type de contenu d'une colonne : ici il s'agit toujours de chaînes * de caractères. */ public Class getColumnClass(int c){ return getValueAt(0,c).getClass(); } /** * possibilité d'édition des données */ public boolean isCellEditable(int rowIndex, int columnIndex) { return true; } /** * contenu d'une cellule */ public Object getValueAt(int rowIndex, int columnIndex) { return data.elementAt((rowIndex*getColumnCount())+columnIndex); } /** * changement du contenu d'une cellule */ public void setValueAt(Object aValue, int rowIndex, int columnIndex) { data.setElementAt(aValue, (rowIndex*getColumnCount())+columnIndex); } public void saveVectors() { saveAs(); } public void saveAs() { } }
mais avant tu dois d'abord définir et remplir les Vector columnNames et data là où se trouve ton JTable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TableModel model=new TableModel(columnNames,data); jTable1.setModel(model);
columnNames va contenir les noms des colonnes de ton JTable:
et data va recevoir les informations récupérées de ta BD par le ResultSet à l'aide d'une boucle while.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Vector columnNames=new Vector(); columnNames.addElement("Numéro");etc...
voilà il ya peut être mieu que ça mais en tous cas ça marche!![]()
OK ! merci beaucoup mon ami
Partager