Добавить строку в jTable - Java

Узнай цену своей работы

Формулировка задачи:

Как я понял jTable - аналог DataGridView в C# (Если я не прав, то скажите мне что не так). Как добавит туда строку?
Господин Шилдт написал что нужно использовать оператор final. Но уж как-то больно непонятно это смотрится в коде. Есть ли другой оператор? Опять же какой-нибудь аналог DataGridView1.AddRow().
Сразу же беда. Вторую строчку таким образом уже не добавляет)

Решение задачи: «Добавить строку в jTable»

textual
Листинг программы
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
 
/**
 * @author Drygba
 * Date: 02.02.13
 */
 
public class AddTable extends JFrame{
    //myData будет хранилищем для наших данных,
    // ArrayList используется просто для примера
    private ArrayList<String[]> myData;
    private MyModel model; // наша модель таблицы
    private int countNewRow = 0; // счетчик новых строк
 
    public AddTable(){
        super("Add Table");
        createFrame();
    }
 
    public static void main(String[] arg){
        AddTable at = new AddTable();
        JTable full = at.createTable();
        at.add(new JScrollPane(full));
        at.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        at.pack();
        at.setVisible(true);
    }
 
    public void createFrame(){
        setLayout(new BorderLayout());
        JButton addButon = new JButton("Add Data");
 
        addButon.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e){
                //добавляем данные через модель таблицы
                model.setValueAt(new String[]{ "новая" + String.valueOf(countNewRow),
                        "новая" + String.valueOf(countNewRow)
                        , "новая" + String.valueOf(countNewRow) });
                countNewRow++;
            }
        });
        add(addButon, BorderLayout.SOUTH);
    }
 
    public JTable createTable(){
        myData = new ArrayList<String[]>();
        myData.add(new String[]{ "1", "2", "3" });
        myData.add(new String[]{ "11", "21", "31" });
        myData.add(new String[]{ "12", "22", "32" });
        myData.add(new String[]{ "13", "23", "33" });
 
        model = new MyModel(myData);//создаем модель таблицы и предаем начальные данные
        JTable table = new JTable(model);//создаем таблицу и передаем туда модель
        return table;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5