Comment ajouter une ligne dans JTable?


Réponses:


171

Le TableModelderrière le JTable gère toutes les données derrière la table. Pour ajouter et supprimer des lignes d'une table, vous devez utiliser unDefaultTableModel

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.

Tous les détails sur le DefaultTableModel peuvent être trouvés ici


2
+1 C'est une bonne réponse; cependant, notez que le DefaultTableModel n'est que l'un des nombreux modèles. Cependant, c'est le plus simple à utiliser et je vous recommande de vous y tenir à moins que vous n'ayez à en utiliser un autre.
chessofnerd

2
En créant la table avec votre première ligne de code, j'obtiens une erreur "Le constructeur DefaultTableModel (Object []) est indéfini"
ThisClark

4
@ThisClark: Pour ce constructeur DefaultTableModel, vous devez également ajouter rowCount, comme:JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}, 20));
Plenus Franckly

57

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

12

Pour ajouter la ligne à JTable, l' un des moyens est la suivante :

1) Créez une table à l'aide de 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 ligne:

        DefaultTableModel model = (DefaultTableModel) table.getModel();
        model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"});

9

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

obtenir le modèle avec DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

Créer un vecteur avec Vector vectorName = new Vector();

ajouter autant row.addde colonnes

ajouter bientôt il suffit de l'ajouter avec modelName.addRow(Vector name);


2

Par souci d'exhaustivité, assurez-vous d'abord que vous disposez de l'importation correcte afin de pouvoir utiliser la addRowfonction:

import javax.swing.table.*;

En supposant que votre jTable est déjà créé, 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});
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.