如何将从jtextfield和组合框接收的值中的一行数据添加到Jtable



我有一个JFrame表单,它有JTextFields、JCombobox等。我可以将这些值接收到变量中,现在我想在用户单击"添加"或类似的操作时,将接收到的数据添加到新行中的JTable中。

我使用netbeans创建了JTable,问题是将这些变量中的数据添加到表的行中的代码是什么。请举一个基本的例子。我尝试了很多例子,并将代码添加到JButtonActionListener中,但什么都没发生。我试过的例子是。如何在JTable中添加行?以及如何使用AbstractTableModel方法向JTable添加行?

如有任何帮助,我们将不胜感激。

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

  • 设置表列标题
    1. 在设计视图中高亮显示该表,然后转到右侧的属性窗格。应该是一个写着"属性"的选项卡。请确保突出显示表格,而不是它周围的滚动窗格,否则下一步将不起作用
    2. 单击型右侧的kbd>按钮。此时会出现一个对话框
    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.
    }
    

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

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

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);

这里CCD_ 11用于在CCD_,你可以在这里获得更多信息。

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);

在这里;这就是解决方案。

相关内容

  • 没有找到相关文章

最新更新