Savez-vous comment je peux ajouter une nouvelle ligne à un jTable
?
La TableModel
derrière la JTable gère toutes les données derrière la table. Afin d’ajouter et de supprimer des lignes d’une table, vous devez utiliser un DefaultTableModel
Pour créer la table avec ce modèle:
JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}));
Pour ajouter une ligne:
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
Utilisation:
DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
// Create a couple of columns
model.addColumn("Col1");
model.addColumn("Col2");
// Append a row
model.addRow(new Object[]{"v1", "v2"});
Pour ajouter rangée à JTable
, vous pouvez utiliser l'une des méthodes suivantes:
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) Ajouter une ligne:
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"});
Utilisation
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);
récupère le modèle avec DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();
Créer un vecteur avec Vector vectorName = new Vector();
ajouter autant de row.add
en tant que comumns
ajouter bientôt il suffit de l'ajouter avec modelName.addRow(Vector name);
Par souci d'exhaustivité, assurez-vous d'abord que l'importation est correcte afin de pouvoir utiliser la fonction addRow
:
import javax.swing.table.*;
En supposant que votre jTable soit déjà créé, vous pouvez continuer et créer votre propre méthode add row 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});
}