Jak dodać wiersz w JTable?

Czy wiesz jak Mogę dodać nowy wiersz do jTable?

Author: UrsinusTheStrong, 2010-08-23

5 answers

TableModel za tabelą JTable obsługuje wszystkie dane znajdujące się za tabelą. Aby dodać i usunąć wiersze z tabeli, musisz użyć DefaultTableModel

Aby utworzyć tabelę z tym modelem:

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

Aby dodać wiersz:

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

Za pomocą tej metody można również usuwać wiersze.

Pełne informacje na temat DefaultTableModel można znaleźć tutaj

 176
Author: Serplat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-27 04:49:01

Użycie:

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"});
 58
Author: OMG Ponies,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-08 21:16:37

Aby dodać wiersz do JTable, jednym ze sposobów jest:

1) Utwórz tabelę używając 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) aby dodać wiersz:

        DefaultTableModel model = (DefaultTableModel) table.getModel();
        model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"});
 11
Author: Muhammad Rehan Qadri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-16 11:44:49

Użyj

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

Pobierz model z DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

Utwórz wektor z Vector vectorName = new Vector();

Dodaj tak wiele row.add jako comumns

Add soon just add it with modelName.addRow(Vector name);

 8
Author: user3452695,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-28 16:53:40

Dla kompletności, najpierw upewnij się, że masz poprawny import, więc możesz użyć funkcji addRow:

import javax.swing.table.*;

Zakładając, że jTable jest już utworzone, możesz kontynuować i utworzyć własną metodę add row, która będzie akceptować potrzebne parametry:

public void yourAddRow(String str1, String str2, String str3){
  DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel();
  yourModel.addRow(new Object[]{str1, str2, str3});
}
 1
Author: Joel Karunungan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-04 12:48:38