2013-03-29 1 views
-4

Я нашел следующий код:вставляя данные в JTable из JTextField

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
     DefaultTableModel tableModel = new DefaultTableModel(); 
     JTable table = new JTable(); 
     table.setModel(tableModel); 
     int c=0; 
     Vector rl=new Vector<Object(6);   
     rl.add(c+1); 
     rl.add(jTextField1.getText()); 
     rl.add(jTextField11.getText()); 
     rl.add(jTextField7.getText()); 
     rl.add(jTextField8.getText()); 
     rl.add(jTextField9.getText()); 
     tableModel.addRow(rl);} 

Но это не работает.

Я должен скопировать поля, соответствующие PCODE, название продукта, цена, количество, общая стоимость которых являются текстовые поля, когда я нажимаю кнопку добавить к таблице, приведенной в нем

+4

Не используйте «найденный» код непосредственно из коробки. Используйте идеи в найденном коде, а затем напишите свой собственный код. Если у вас возникли проблемы с кодом, вы хотите сообщить нам, какие проблемы у вас могут возникнуть. «не работает» мало говорит нам, что мы можем использовать, чтобы помочь вам. –

+0

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

ответ

6

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

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

  • Получить модель JTable.
  • Получите данные с ваших JTextFields и используйте данные для создания массива Object или Vector, заполненных данными, если JTable использует DefaultTableModel.
  • Или, если JTable использует AbstractTableModel, создайте соответствующий объект строки с данными, хранящимися в JTextFields. Тип требуемого объекта будет зависеть от того, какой тип объектов хранится в TableModel.
  • Если это значение DefaultTableModel, вы можете вызвать его метод addRow(...), чтобы добавить в модель массив Vector или Object []. В противном случае вам понадобится создать свой собственный метод addRow(...) для вашего класса AbstractTableModel.
  • Если вы создаете свой собственный метод addRow(...), не забудьте вызвать соответствующий метод fireTableXXX (...) `после внесения изменений в данные модели. Обратитесь к AbstractTableModel API за дополнительной информацией об этих методах, но знайте, что они важны для уведомления всех слушателей о модели изменений, включая сам JTable.
  • Прежде всего, обязательно прочтите Swing JTable tutorial, поскольку большинство из них здесь обсуждается. Единственная нижняя сторона учебника по моему мнению заключается в том, что он обсуждает AbstractTableModel и не дает практически никакой информации о DefaultTableModels, но мы можем помочь вам в этом.
+0

может просто объяснить мне lil более грубо ... ?? –

+2

@AkhileshMNair: объясните, что именно? Вы читали учебник? Я разместил ссылку в своем ответе выше, и снова это первое, что вам нужно сделать. –

+0

ntng много сэр .... спасибо, что ур посоветовал прочитать Swing JTable учебник .... lemme check dat out if i dint получить помощь от него .... я могу снова нарушить u ..... спасибо большое. .. –