Как добавить строку в JTable? - PullRequest
       12

Как добавить строку в JTable?

85 голосов
/ 23 августа 2010

Знаете ли вы, как я могу добавить новую строку в jTable?

Ответы [ 5 ]

158 голосов
/ 23 августа 2010

TableModel за JTable обрабатывает все данные за таблицей.Чтобы добавить и удалить строки из таблицы, необходимо использовать DefaultTableModel

. Чтобы создать таблицу с этой моделью:

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

Чтобы добавить строку:

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

Вы также можете удалить строки этим методом.

Полная информация о DefaultTableModel может быть найдена здесь

50 голосов
/ 23 августа 2010

Использование:

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"});
11 голосов
/ 18 ноября 2014

Чтобы добавить строку к JTable, один из способов:

1) Создать таблицу, используя 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) Добавить строку:

        DefaultTableModel model = (DefaultTableModel) table.getModel();
        model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"});
8 голосов
/ 28 марта 2014

Используйте

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

получить модель с DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

Создать вектор с Vector vectorName = new Vector();

добавить столько row.add как столбцы

добавь в ближайшее время, просто добавь его с modelName.addRow(Vector name);

2 голосов
/ 04 августа 2015

Для полноты, сначала убедитесь, что у вас есть правильный импорт, чтобы вы могли использовать функцию addRow:

import javax.swing.table.*;

Предполагая, что ваш jTable уже создан, вы можете продолжить и создать свой собственный метод добавления строки, который будет принимать параметры, которые вам нужны:

public void yourAddRow(String str1, String str2, String str3){
  DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel();
  yourModel.addRow(new Object[]{str1, str2, str3});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...