2014-01-15 1 views
10

У меня есть форма JFrame, которая имеет JTextField s, JCombobox и т. Д., И я могу получить эти значения для переменных, и теперь я хочу добавить полученные данные до JTable в новой строке, когда пользователь нажимает кнопку «Добавить» или что-то в этом роде.Как добавить строку данных в Jtable из значений, полученных из jtextfield и comboboxes

Я создал JTable, используя net-beans, проблема в том, что было бы кодом для добавления данных из этой переменной в строки таблицы. Был бы оценен базовый пример. Я пробовал множество примеров и добавил код к ActionListener из JButton, но ничего не происходит. Примеры, которые я пробовал. How to add row in JTable? и How to add rows to JTable with AbstractTableModel method?

Любая помощь будет оценена по достоинству.

+0

Во время создания jtable вы использовали бы модель таблицы. Вызовите метод addRow() модели таблицы, чтобы добавить новую строку данных. – Rahul

+0

Согласованный сэр. Я знаю, что это связано с Netbeans, но я хочу, чтобы основная идея заключалась в том, как я буду добавлять данные в полученную строку. Базового примера или уже существующего примера было бы достаточно, чтобы удовлетворить мою потребность – Nawaz

+0

@ user3197695 ', но я хочу, чтобы основная идея заключалась в том, как я буду добавлять данные к полученной строке' - все описано в официальном учебнике Oracle - Как использовать Таблицы, пример или уже существующий пример будет достаточным, чтобы удовлетворить мою потребность »- есть примеры рабочих кодов – mKorbel

ответ

6

Вы можете использовать этот код в качестве шаблона, пожалуйста, настройте его согласно вашему требованию.

DefaultTableModel model = new DefaultTableModel(); 
List<String> list = new ArrayList<String>(); 

list.add(textField.getText()); 
list.add(comboBox.getSelectedItem()); 

model.addRow(list.toArray()); 

table.setModel(model); 

здесь DefaultTableModel используется для добавления строк в JTable, вы можете получить больше информации here.

+1

Получил ли это приятель, достиг чего я хотел – Nawaz

22

хромой учебник Peeskillet для работы с JTable: в Netbeans GUI Builder

  • Установить заголовки столбцов таблицы
    1. Highglight таблицу в режиме конструктора затем перейти к панели свойств на самой правой , Должна быть вкладка с надписью «Свойства». Убедитесь в том, чтобы выделить таблицу, а не панели прокрутки вокруг него, или следующий шаг не будет работать
    2. Нажмите на кнопку ... справа от модели свойство . Должен появиться диалог.
    3. Установите строки на 0, установите количество столбцов, которое вы хотите, и их имена.
  • Добавить кнопку в рамку где-нибудь. Эта кнопка будет нажата, когда пользователь готов представить ряд

    1. правой кнопкой мыши на кнопке и выберите Events -> Action -> actionPerformed
    2. Вы должны увидеть код, подобный следующему автоматически генерируемой

      private void jButton1ActionPerformed(java.awt.event.ActionEvent) {} 
      
  • jTable1 будет иметь DefaultTableModel. Вы можете добавить строки в модели с данными

    private void jButton1ActionPerformed(java.awt.event.ActionEvent) { 
        String data1 = something1.getSomething(); 
        String data2 = something2.getSomething(); 
        String data3 = something3.getSomething(); 
        String data4 = something4.getSomething(); 
    
        Object[] row = { data1, data2, data3, data4 }; 
    
        DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); 
    
        model.addRow(row); 
    
        // clear the entries. 
    } 
    

Таким образом, для каждого набора данных, как от нескольких текстовых полей, поле со списком, а также флажок, вы можете собрать, что данные каждый раз, когда нажата кнопка и добавьте ее как строку в модель.

+1

peeskillet и @eatSleepCode Огромное спасибо, что вы меня спасли. На самом деле большое спасибо. Я достиг того, чего хотел. – Nawaz

+0

Мне помог этот пост – humphrey

+0

Не будь таким скромным peeskillet, это отличный учебник! – Yster