如何从jTextFields向jTable插入数据?

时间:2015-07-27 09:44:23

标签: java swing

我无法将jTextFields中的数据值插入jTables。

我的addCustomerToTable是一个带有来自另一个类的参数的函数。我做错了什么?

我检查变量,他们有其他类的值,但我不能将它们插入到jTable行。

public void addCustomerToTable(int accountNum, String fname, String mname, String lname, double deposit){
    String account = Integer.toString(accountNum);
    String fnames = fname;
    String mnames = mname;
    String lnames = lname;
    String deposits = Double.toString(deposit);

    //table.setRowCount(table.getRowCount()+1);
    //DefaultTableModel table = (DefaultTableModel) jTable2.getModel();
    DefaultTableModel table = new DefaultTableModel();        
    jTable2.setModel(table);
    Object row[] = {account, fnames, mnames, lnames, deposits};
    table.addRow(row);  
}

2 个答案:

答案 0 :(得分:1)

在我看来,你基本上有解决方案......

public void addCustomerToTable(int accountNum, String fname, String mname, String lname, double deposit){
    String account = Integer.toString(accountNum);
    String fnames = fname;
    String mnames = mname;
    String lnames = lname;
    String deposits = Double.toString(deposit);

    DefaultTableModel table = (DefaultTableModel) jTable2.getModel();
    Object row[] = {account, fnames, mnames, lnames, deposits};
    table.addRow(row);  
}

您从DefaultTableModel获得JTable并使用addRow功能。

如果这不起作用,那么您的代码还有其他问题,您没有使用它,您应该考虑提供一个runnable example来证明您的问题。这不是代码转储,而是您正在做的事情的一个示例,它突出了您遇到的问题。这将减少混淆和更好的响应

您可能还希望查看How to Use Tables

答案 1 :(得分:0)

无需使用新的TableModel,只需获取jTable当前TableModel并直接向其添加行:

DefaultTableModel model = (DefaultTableModel) jTable2.getModel();
model.addRow(new Object[] {account, fnames, mnames, lnames, deposits});

请查看Appending a Row to a JTable Component以获取更多信息。

修改

如果问题仍然存在,那么您的代码中可能还有其他问题,请检查jTable中是否有相同数量的列,也许这个新行无法添加到模型中