如何为 JTable 中的特定列编写 Focus Gained 事件?

How can i write Focus Gained event for Particular column in JTable?

在我的项目中,我使用了 JTable 来计费。在第一列中,当我单击选项卡按钮时,我将给出一些数字作为输入,例如 1 第二列应显示产品名称。我为鼠标单击事件编写了它。但我不知道如何写它以获得焦点。我正在使用 Netbeans IDE.

    if(table.getSelectedColumn() == 1)
    {
        int row = table.getSelectedRow();
        int column = table.getSelectedColumn();
        int code = Integer.parseInt(table.getValueAt(table.getSelectedRow(), 0).toString());
        if(code < 1 || code > 48)
        {
            JOptionPane.showMessageDialog(this, "Please Enter Correct Product Code");
            return;
        }
        if(table.getValueAt(row, 0) != null)
        {
            table.setValueAt(tamil.get(code-1), row, 1);
        }
    }

这是我的代码,它可以很好地点击鼠标。谁能帮帮我?

I wrote it for mouse clicked event.

不要为鼠标事件编写代码。用户使用 Tab 键移动到下一个单元格是什么?

而是通过重写 TableModel 的 setValueAt(...) 方法来实施通用解决方案。

当您更改第一列中的值时,执行查找并更改第二列中的值。类似于:

@Override
public void setValueAt(Object value, int row, int column)
{
    super.setValueAt(value, row, column);

    if (column == 0)
    {
        String name = lookupName(...);
        super.setValueAt(name, row, 1);
    }
}