Savez-vous comment je peux ajouter une nouvelle ligne à jTable ?
Réponses
Trop de publicités?Le site TableModel
derrière la JTable gère toutes les données derrière la table. Pour ajouter et supprimer des lignes d'une table, vous devez utiliser un objet DefaultTableModel
Pour créer la table avec ce modèle :
JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}));
Pour ajouter une rangée :
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3"});
Vous pouvez également supprimer des lignes avec cette méthode.
Des détails complets sur le DefaultTableModel peuvent être trouvés ici
Pour ajouter rangée à JTable
l'une des façons est :
1) Créer une table en utilisant DefaultTableModel :
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Code");
model.addColumn("Name");
model.addColumn("Quantity");
model.addColumn("Unit Price");
model.addColumn("Price");
JTable table = new JTable(model);
2) Pour ajouter une rangée :
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"});
Utilisez
DefaultTableModel model = (DefaultTableModel) MyJTable.getModel();
Vector row = new Vector();
row.add("Enter data to column 1");
row.add("Enter data to column 2");
row.add("Enter data to column 3");
model.addRow(row);
obtenir le modèle avec DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();
Créer un vecteur avec Vector vectorName = new Vector();
ajouter tant de row.add
en tant que colonnes
ajouter bientôt juste l'ajouter avec modelName.addRow(Vector name);
Dans un souci d'exhaustivité, assurez-vous d'abord que vous disposez de l'importation correcte afin de pouvoir utiliser la fonction addRow
fonction :
import javax.swing.table.*;
En supposant que votre jTable est déjà créée, vous pouvez continuer et créer votre propre méthode d'ajout de ligne qui acceptera les paramètres dont vous avez besoin :
public void yourAddRow(String str1, String str2, String str3){
DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel();
yourModel.addRow(new Object[]{str1, str2, str3});
}