2016-03-26 2 views
-1

Я хочу добавить непрерывно данные от JTextFields к Jtable. Когда я нажимаю кнопку «Добавить», текст из JTextFields должен быть вставлен в Jtable.Как добавить непрерывные данные от JTextField к JTable

Этот код генерирует только одну строку, когда я нажимаю кнопку «Добавить». Я хочу, чтобы строка добавлялась к предыдущим введенным строкам.

public void actionPerformed(ActionEvent arg0) { 
     DefaultTableModel model = new DefaultTableModel(); 
     table_1.setModel(model); 
     model.addColumn("Product Name"); 
     model.addColumn("Product Price"); 
     model.addColumn("Quantity"); 
     String name = jFrame_pName.getText().trim(); 
     String price = jFrame_pPrice.getText().trim(); 
     String quantity = jFrame_quantity.getText().trim(); 
     String st[] = {name, price, quantity}; 
     model.addRow(st); 
    } 

Нужно ли добавить EventHandler к моему столу? Спасибо. Пожалуйста, помогите мне с моим заданием.

ответ

4

Переместить эту часть:

DefaultTableModel model = new DefaultTableModel(); 
    table_1.setModel(model); 
    model.addColumn("Product Name"); 
    model.addColumn("Product Price"); 
    model.addColumn("Quantity"); 

в конструкторе и определить модель как член экземпляра. Не создавайте таблицу для каждой кнопки. Ниже части для actionPerformed.

public void actionPerformed(ActionEvent arg0) { 
    String name = jFrame_pName.getText().trim(); 
    String price = jFrame_pPrice.getText().trim(); 
    String quantity = jFrame_quantity.getText().trim(); 
    String st[] = {name, price, quantity}; 
    model.addRow(st); 
} 

Edit:

Если вы делитесь полный код, я могу сказать вам, где поставить вышеуказанные части. Но на данный момент ниже пример кода может помочь вам.

public class TableClass { 
    DefaultTableModel model; 

    public TableClass() { 
     model = new DefaultTableModel(); 
     table_1.setModel(model); 
     model.addColumn("Product Name"); 
     model.addColumn("Product Price"); 
     model.addColumn("Quantity"); 


     JButton addButton = JButton("Add"); 
     addButton.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent e) { 
       String name = jFrame_pName.getText().trim(); 
       String price = jFrame_pPrice.getText().trim(); 
       String quantity = jFrame_quantity.getText().trim(); 
       String st[] = {name, price, quantity}; 
       model.addRow(st); 
      } 
     }) 
    } 
}