如何为 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);
}
}
在我的项目中,我使用了 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);
}
}