From b4f401ce7599b9af40bd7d07796c727ad20ee5c0 Mon Sep 17 00:00:00 2001 From: nxist2202005014 <1463859337@qq.com> Date: Wed, 26 Jun 2024 09:54:27 +0800 Subject: [PATCH] ADD file via upload --- CartTableModel.java | 76 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 CartTableModel.java diff --git a/CartTableModel.java b/CartTableModel.java new file mode 100644 index 0000000..7156b5e --- /dev/null +++ b/CartTableModel.java @@ -0,0 +1,76 @@ +package flowershop.view; + +import javax.swing.table.AbstractTableModel; + +//购物车表格模型 +public class CartTableModel extends AbstractTableModel { + + // 表格列名columnNames + private String[] columnNames = { "编号", "花卉名", "单支价格", "数量", "应付金额" }; + + // 表格中数据保存在data二维数组中 + private Object[][] data = null; + + public CartTableModel(Object[][] data) { + this.data = data; + } + + // 返回列数 + @Override + public int getColumnCount() { + return columnNames.length; + } + + // 返回行数 + @Override + public int getRowCount() { + return data.length; + } + + // 获得某行某列的数据,而数据保存在对象数组data中 + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + return data[rowIndex][columnIndex]; + } + + @Override + public String getColumnName(int columnIndex) { + return columnNames[columnIndex]; + } + + @Override + public boolean isCellEditable(int rowIndex, int columnIndex) { + // 数量列可以修改 + if (columnIndex == 3) { + return true; + } + return false; + } + + @Override + public void setValueAt(Object aValue, int rowIndex, int columnIndex) { + // 只允许修改数量列 + if (columnIndex != 3) { + return; + } + try { + // 从表中获得修改之后的商品数量,从表而来的数据都String类型 + int quantity = new Integer((String) aValue); + // 商品数量不能小于0 + if (quantity < 0) { + return; + } + // 更新数量列 + data[rowIndex][3] = quantity; + // 计算商品应付金额 + double price = (double) data[rowIndex][2]; + double totalPrice = price * quantity; + // 更新商品应付金额列 + data[rowIndex][4] = new Double(totalPrice); + + } catch (Exception e) { + } + } + +} +