// 创建表格
MTable table = new MTable(tableModel);
// 为表格模型添加事件监听器
tableModel.addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
int type = e.getType();// 获得事件的类型
int row = e.getFirstRow();// 获得触发此次事件的表格行索引
int column = e.getColumn();// 获得触发此次事件的表格列索引
if(column==6) return;//更改金额小计时不触发事件,金额小计栏的索引值:6,这行代码很重要,不加狂报错
if (type == TableModelEvent.UPDATE) {
//修改金额小计一栏的数值
TableModel model = (TableModel)e.getSource();//自动获取表格模型
String columnName = model.getColumnName(column);
Object data = model.getValueAt(row, column);
float v=Float.parseFloat(data.toString());
Object shop_price=model.getValueAt(row,2);
float f = Float.parseFloat(shop_price.toString());
model.setValueAt((f*v),row,(column+1));
//System.out.println(f+","+v+","+String.format("%.2f",f*v)+","+row+","+(column+1));
}
}
});