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

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

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

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

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

textual
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.util.ArrayList;
  6.  
  7. /**
  8.  * @author Drygba
  9.  * Date: 02.02.13
  10.  */
  11.  
  12. public class AddTable extends JFrame{
  13.     //myData будет хранилищем для наших данных,
  14.     // ArrayList используется просто для примера
  15.     private ArrayList<String[]> myData;
  16.     private MyModel model; // наша модель таблицы
  17.     private int countNewRow = 0; // счетчик новых строк
  18.  
  19.     public AddTable(){
  20.         super("Add Table");
  21.         createFrame();
  22.     }
  23.  
  24.     public static void main(String[] arg){
  25.         AddTable at = new AddTable();
  26.         JTable full = at.createTable();
  27.         at.add(new JScrollPane(full));
  28.         at.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29.         at.pack();
  30.         at.setVisible(true);
  31.     }
  32.  
  33.     public void createFrame(){
  34.         setLayout(new BorderLayout());
  35.         JButton addButon = new JButton("Add Data");
  36.  
  37.         addButon.addActionListener(new ActionListener(){
  38.             @Override
  39.             public void actionPerformed(ActionEvent e){
  40.                 //добавляем данные через модель таблицы
  41.                 model.setValueAt(new String[]{ "новая" + String.valueOf(countNewRow),
  42.                         "новая" + String.valueOf(countNewRow)
  43.                         , "новая" + String.valueOf(countNewRow) });
  44.                 countNewRow++;
  45.             }
  46.         });
  47.         add(addButon, BorderLayout.SOUTH);
  48.     }
  49.  
  50.     public JTable createTable(){
  51.         myData = new ArrayList<String[]>();
  52.         myData.add(new String[]{ "1", "2", "3" });
  53.         myData.add(new String[]{ "11", "21", "31" });
  54.         myData.add(new String[]{ "12", "22", "32" });
  55.         myData.add(new String[]{ "13", "23", "33" });
  56.  
  57.         model = new MyModel(myData);//создаем модель таблицы и предаем начальные данные
  58.         JTable table = new JTable(model);//создаем таблицу и передаем туда модель
  59.         return table;
  60.     }
  61. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут