如何将一种类型的侦听器添加到JTable(Java)中?

如何将一种类型的侦听器添加到JTable(Java)中?,java,swing,jtable,action,listener,Java,Swing,Jtable,Action,Listener,我有一个纯文本的专栏 如果用户双击该列中的某一行,该列将允许对该行进行编辑(应如此) 我需要一些东西来检测文本何时完成编辑(例如,当用户点击回车键时)。当这种情况发生时,我需要一些东西来获取该更改的行ID(当然是基于0的) 有什么想法吗 谢谢 您应该向TableModel添加一个侦听器: table.getModel().addTableModelListener(new TableModelListener() { public void tableChanged(TableMo

我有一个纯文本的专栏

如果用户双击该列中的某一行,该列将允许对该行进行编辑(应如此)

我需要一些东西来检测文本何时完成编辑(例如,当用户点击回车键时)。当这种情况发生时,我需要一些东西来获取该更改的行ID(当然是基于0的)

有什么想法吗


谢谢

您应该向TableModel添加一个侦听器:

table.getModel().addTableModelListener(new TableModelListener() {

      public void tableChanged(TableModelEvent e) {
         // your code goes here;
      }
    });

包含行和列的编号以及修改类型。

我认为根据行和列获取单击位置的最简单方法是:

table.addMouseListener(new java.awt.event.MouseAdapter() {
    @Override
    public void mouseClicked(java.awt.event.MouseEvent e) {
        int row = table.rowAtPoint(e.getPoint());
        int column = table.columnAtPoint(e.getPoint());
        if (row >= 0 && column >= 0) {
            ......

        }
    }
});

我如何得到它检测到的任何东西的行?+1。TableModelEvent可以访问TableModel,因此您可以使用getValueAt(…)方法获取行id。这给我的唯一Int是第一行和最后一行-不是只有在一个值发生更改时才调用此方法吗?谢谢,但我需要两者的混合。我有一个纯文本的专栏。如果用户双击该列中的行,则该列允许为该行编辑自身。我需要一些东西来检测文本何时完成编辑(比如当用户点击enter键时)。当这种情况发生时,我需要一些东西来获取更改的行ID(当然是基于0的)这是一种臭味吗?在访问TabLimDelistInter时使用鼠标事件?如果您计划根据行数更新模型,请考虑所示的方法。