在最后一行输入数据时自动在jTable中插入新行

时间:2017-10-07 06:55:21

标签: java swing jtable actionlistener

我现在做了什么?

我创建了一个业务应用程序,需要在jTable的帮助下添加信息。下面是我的jTable的图片。enter image description here

' +'这里的按钮会添加一个新行,而' - '按钮会在单击相应按钮时删除所选行。

我需要什么?

当用户开始在运行时向最后一行添加数据时,我需要了解在最后一行之后插入新行的任何事件或事物。

具体来说,我不需要任何按钮事件来添加行。必须自动插入该行,而最后一行不再为空。

请帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用TableModelListener进行尝试。基本思路:无论何时编辑单元格,都会收到通知。然后,您可以检查单元格是否在最后一行,如果是,则在表格中添加一个新行。

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