我有一个JFrame表单,其中包含JTextFieldJCombobox等,并且我能够将这些值接收到变量中,现在我想在用户单击“添加”或类似内容时将接收到的数据添加到新行的JTable中。

我已经使用net-beans创建了JTable,问题是将那些变量中的数据添加到表行中的代码是什么。一个基本的例子将不胜感激。我尝试了很多示例,并将代码添加到ActionListenerJButton中,但是什么也没有发生。
我试过的例子是。 How to add row in JTable?How to add rows to JTable with AbstractTableModel method?

任何帮助,将不胜感激。

最佳答案


  • 设置表列标题
  • 高亮显示设计 View 中的表,然后转到最右边的属性 Pane 。应该是显示“属性”的标签。确保突出显示表格,而不是突出显示表格周围的滚动 Pane ,否则下一步将不起作用
  • 单击属性模型右侧的...按钮。将会出现一个对话框。
  • 将行设置为0,设置所需的列数及其名称。
  • 在框架的某处添加一个按钮。当用户准备提交行时,将单击此按钮
  • 右键单击按钮,然后选择Events -> Action -> actionPerformed
  • 您应该会看到类似以下自动生成的代码
    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.
    }
    

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

    07-24 09:49
    查看更多