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

标签 java swing jtable actionlistener

到目前为止我做了什么?

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

此处的“+”按钮添加新行,而“-”按钮则在单击相应按钮时删除所选行。

我需要什么?

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

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

请帮忙!

最佳答案

您可以使用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
    }
  }
});

关于java - 在最后一行输入数据时自动在 jTable 中插入新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46617555/

相关文章:

java - 使用 .NET 中的 java 库

Java字节数组压缩

java - 具有固定宽度的 JScrollPane 中的 JTable

java - 排序器从原始序列中获取值

java - 如何在两个不同的类中使用 getter 和 setter

java - 在构造期间抛出异常后清理

java - 实现 JFrame 时线程 "main"java.lang.NullPointerException 中出现异常

java - 为媒体播放器制作一个搜索栏。

java - 监听 JTabbedPane 面板上的选项卡开关

java - 使用 JTable 的默认列排序器对整数进行排序?