Come aggiungere una riga in JTable?


94

Sai come posso aggiungere una nuova riga a jTable?

Risposte:


171

Il TableModeldietro la JTable gestisce tutti i dati dietro la tabella. Per aggiungere e rimuovere righe da una tabella, è necessario utilizzare un fileDefaultTableModel

Per creare il tavolo con questo modello:

JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}));

Per aggiungere una riga:

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

Puoi anche rimuovere le righe con questo metodo.

I dettagli completi su DefaultTableModel possono essere trovati qui


2
+1 Questa è una buona risposta; si noti tuttavia che DefaultTableModel è solo uno dei tanti modelli. Tuttavia, è il più facile da usare e consiglierei di rispettarlo a meno che tu non debba usarne un altro.
chessofnerd

2
Durante la creazione della tabella con la prima riga di codice, ottengo un errore "Il costruttore DefaultTableModel (Object []) non è definito"
ThisClark

4
@ThisClark: per quel costruttore DefaultTableModel, devi anche aggiungere rowCount, come:JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}, 20));
Plenus Franckly

57

Uso:

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

Per aggiungere una riga a JTable, uno dei modi è:

1) Crea tabella utilizzando 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) Per aggiungere una riga:

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

9

Uso

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

prendi il modello con DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

Crea un vettore con Vector vectorName = new Vector();

aggiungine tanti row.add quante colonne

aggiungi presto aggiungilo con modelName.addRow(Vector name);


2

Per motivi di completezza, assicurati innanzitutto di avere l'importazione corretta in modo da poter utilizzare la addRowfunzione:

import javax.swing.table.*;

Supponendo che la tua jTable sia già creata, puoi procedere e creare il tuo metodo di aggiunta riga che accetterà i parametri di cui hai bisogno:

public void yourAddRow(String str1, String str2, String str3){
  DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel();
  yourModel.addRow(new Object[]{str1, str2, str3});
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.