在我的项目中,我使用JTable进行计费。在第一列中,我将给出一些数字作为输入,如我点击标签按钮第二列应该显示产品的名称。我为鼠标点击事件写了它。但我不知道如何写它来获得焦点。我使用的是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);
}
}
这是我的代码,它可以正常点击鼠标。有人可以帮帮我吗?
答案 0 :(得分:1)
我为鼠标点击事件写了它。
不要为鼠标事件编写代码。用户使用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);
}
}