如何从jtextfield和comboboxes接收的值向Jtable添加数据行

我有一个JFrame表单,它有JTextFieldJCombobox等,我能够将这些值接收到变量,现在我想在用户单击Add或类似的东西时将接收到的数据添加到新行中的JTable

我使用net-beans创建了JTable ,问题是将这些变量中的数据添加到表行的代码。 一个基本的例子将不胜感激。 我已经尝试过很多例子,并且已经将代码添加到了JButton ActionListener中,但没有发生任何事情。 我试过的例子是。 如何在JTable中添加行? 以及如何使用AbstractTableModel方法向JTable添加行?

任何帮助,将不胜感激。

Peeskillet在Netbeans GUI Builder中使用JTables的蹩脚教程

  • 设置表列标题
    1. 在设计视图中高亮显示表格,然后转到右侧的属性窗格。 应该是一个标题为“属性”的标签。 确保突出显示表而不是它周围的滚动窗格,否则下一步将无法工作
    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. } 

因此,对于每组数据(例如来自几个文本字段,combobox和复选框),您可以在每次按下按钮时收集该数据,并将其作为一行添加到模型中。

您可以使用此代码作为模板,请根据您的要求进行自定义。

 DefaultTableModel model = new DefaultTableModel(); List list = new ArrayList(); list.add(textField.getText()); list.add(comboBox.getSelectedItem()); model.addRow(list.toArray()); table.setModel(model); 

这里DefaultTableModel用于在JTable添加行,您可以在这里获得更多信息。

 String[] tblHead={"Item Name","Price","Qty","Discount"}; DefaultTableModel dtm=new DefaultTableModel(tblHead,0); JTable tbl=new JTable(dtm); String[] item={"A","B","C","D"}; dtm.addRow(item); 

在这里;这是解决方案。