在JTable中编辑的单元格的位置

时间:2016-12-24 14:58:13

标签: java swing jtable

我希望在编辑该单元格时释放键时获取JTable单元格的坐标(行索引和列索引)。我试图这样做:

@Override
public void keyReleased(KeyEvent released) {
    JTable tbl = (JTable)(released.getSource());
    if (tbl.getCellEditor() != null)
        System.out.println(tbl.getSelectedRow()+","+tbl.getSelectedColumn());
}

但是这不会返回正在编辑的单元格的位置(行索引和列索引)。请帮忙。

1 个答案:

答案 0 :(得分:3)

  

在编辑该单元格时释放密钥。

没有意义。在编辑单元格时,编辑器具有焦点。用户也可以使用鼠标将单元格置于编辑模式。

如果您想知道单元格何时开始编辑,可以向PropertyChangeListener添加JTable

//
//  Implement the PropertyChangeListener interface
//
    @Override
    public void propertyChange(PropertyChangeEvent e)
    {
        //  A cell has started/stopped editing

        if ("tableCellEditor".equals(e.getPropertyName()))
        {
            if (table.isEditing())
                // code for editing started;
            else
                // code for editing stopped;
        }
    }

然后您只需使用getSelected...()方法获取行/列。