在最后一行输入数据时自动在 jTable 中插入新行
Insert a new row in jTable automatically while entering data in the last row
到目前为止我做了什么?
我创建了一个业务应用程序,它需要在 jTable 的帮助下添加信息。下面是我的 jTable 的图像。
此处的“+”按钮可添加新行,而“-”按钮可在单击相应按钮时删除所选行。
我需要什么?
我需要了解在运行时用户开始向最后一行添加数据时在最后一行之后插入新行的任何事件或事物。
具体来说,我不需要任何按钮事件来添加行。当最后一行不再为空时,必须自动插入该行。
请帮忙!
您可以尝试使用 TableModelListener
。基本思想:每当编辑单元格时,您都会收到通知。然后您可以检查该单元格是否在最后一行,如果是,则向 table.
添加一个新行
DefaultTableModel tableModel = new DefaultTableModel();
JTable table = new JTable(tableModel);
tableModel.addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
if ((e.getLastRow() + 1) == tableModel.getRowCount()) {
// something was entered into the last row, add a new row
}
}
});
到目前为止我做了什么?
我创建了一个业务应用程序,它需要在 jTable 的帮助下添加信息。下面是我的 jTable 的图像。
此处的“+”按钮可添加新行,而“-”按钮可在单击相应按钮时删除所选行。
我需要什么?
我需要了解在运行时用户开始向最后一行添加数据时在最后一行之后插入新行的任何事件或事物。
具体来说,我不需要任何按钮事件来添加行。当最后一行不再为空时,必须自动插入该行。
请帮忙!
您可以尝试使用 TableModelListener
。基本思想:每当编辑单元格时,您都会收到通知。然后您可以检查该单元格是否在最后一行,如果是,则向 table.
DefaultTableModel tableModel = new DefaultTableModel();
JTable table = new JTable(tableModel);
tableModel.addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
if ((e.getLastRow() + 1) == tableModel.getRowCount()) {
// something was entered into the last row, add a new row
}
}
});