2013-06-18 5 views
4

Я разрабатываю адресную книгу для своих одноклассников, но у меня проблема с JTable. Здесь вы можете просмотреть предварительный просмотр программы, я использую NetBeans [click]. Если вы нажмете Add to the Address Book, программа добавит новую строку в эту таблицу и заполнит ее ячейки данными, расположенными в текстовых полях ниже. Я использую следующий код, но количество строк не увеличивается.Увеличение числа строк в JTable

GUI as is

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { 
     int h; 
     DefaultTableModel model = new DefaultTableModel(); 
     h=jTable1.getRowCount()+1; 
     model.setRowCount(h); 
     jTable1.setValueAt(jTextField2.getText(), h, 1); 
     jTable1.setValueAt(jTextField3.getText(), h, 2); 
     //I'll use more setValueAt() because I must fill all the cells 
    } 

Не могли бы вы дать мне несколько советов о том, как решить эту проблему?

ответ

4

Вы создали новую модель. Вы должны взять модель, назначенную таблице.

DefaultTableModel model = new DefaultTableModel(); 

должно быть:

DefaultTableModel model = jTable1.getModel(); 
+1

Спасибо, теперь я понимаю свою ошибку :) Я хотел бы задать вам еще одно: я использую 'jTable1.setValueAt (jTextField3.getText(), h, 2); этот метод добавляет данные в ячейки. Кстати, программа не добавляет содержимое jTextField3. У вас есть идея об этом? –

+2

@ DK64 попробуйте использовать метод DefaultTableModel.addRow. –

+1

Хорошо спасибо тоже Никита :) –

Смежные вопросы