如何向JTable(Java)添加一种监听器?

时间:2011-09-17 10:48:21

标签: java swing jtable action listener

我有一个包含纯文本的列。

如果用户双击该列中的行,则该列允许自己编辑该行(应该如此)。

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

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:7)

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

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

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

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

答案 1 :(得分:1)

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

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) {
            ......

        }
    }
});