我有一个以Netbeans形式开发的JTable
。我希望程序以这样的方式工作:当我单击一个按钮时,新准备的记录将被添加到现有的记录中。我的问题是当我想添加新记录时,我点击按钮的那一刻,它取代了现有记录。任何人都可以帮助我将方法添加到现有方法吗?
答案 0 :(得分:3)
使用DefaultTableModel和简单的调用DefaultTableModel#addRow()方法添加新行。
示例代码:
Object data[][] = { { "111 Hello", "Capital1", "TX 11111" },
{ "222 Hello", "Capital2", "TX 22222" },
{ "333 Hello", "Capital3", "TX 33333" },
{ "444 Hello", "Capital4", "TX 44444" }
};
String col[] = { "Name", "Capital", "TX" };
final DefaultTableModel model = new DefaultTableModel(data, col);
final JTable table = new JTable(model);
....
final JButton addButton = new JButton("Add");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
Object[] newRecord = { "555 Hello", "Capital5", "TX 55555" };
model.addRow(newRecord); // <== Adding new row here
}
});
答案 1 :(得分:2)
我的问题是当我想要添加新记录时,当我点击按钮时,它会替换现有记录。
不要创建新的TableModel。
相反,您应该使用DefaultTableModel.addRow(...)
方法将新行添加到表的末尾。