【发布时间】:2012-03-14 18:33:59
【问题描述】:
我使用JComboBox 作为JTable 的单元格编辑器。当我从 ComboBox 的下拉列表中选择一个值时,setValueAt 不会被调用。我知道这一点,因为我已经覆盖了该功能。根据在此单元格中选择的值,同一表格的另一个单元格中的值是固定的。另外,我需要知道该事件的 actionListener 是哪个,即当我更改 ComboBox 中的值时。
setValueAt 仅在焦点更改到表格中的另一个单元格时才会被调用,仅在表格外部单击也无济于事。
@Override
public void setValueAt(Object o,int row,int col)
{
super.setValueAt(o, row, col);
if(((String)o).matches("1"))
{
super.setValueAt(o, col-1, row+1);
return;
}
if(((String)o).contains("/"))
super.setValueAt(((String)o).substring(2), col-1, row+1);
else
super.setValueAt("1/"+(String)o, col-1, row+1);
}
【问题讨论】:
标签: java swing jtable jcombobox