web-dev-qa-db-fra.com

Comment ajouter une ligne dans JTable?

Savez-vous comment je peux ajouter une nouvelle ligne à un jTable?

84
oneat

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

157
Serplat

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"});
51
OMG Ponies

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"});
11

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);

8
user3452695

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});
}
2
Joel Karunungan