购物车
团队介绍
| 成员姓名 | 负责任务 |
|---|---|
| 白靖 | GUI设计、代码编写 |
| 雷雯雯 | 编码规范、前期调查、博客制作、UML图 |
前期调查

程序运行效果

系统功能结构图

系统描述
进入系统后进入主界面,主界面包含和卖家(商城)俩模块。在商城中可以添加商品包括其商品ID、商品名称、销售商、发货商,或者删除商品,展示所有商品,查询商品。在购物车里,可以添加商品、展示所有商品、移除商品、显示订单、显示总价、确认下单。
UML类图

关键代码
package ShopingCart.GUI.buyerGUI;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import ShopingCart.Data.User.User;
import ShopingCart.Data.commodity.Commodity;
import ShopingCart.Data.order.Order;
import ShopingCart.GUI.orderGUI.orderG;
public class Buyer {
private ArrayList<Commodity> commodity;
private ArrayList<Commodity> shoppingcart = new ArrayList<Commodity>();
private Object[] commodityTitle = { "商品ID", "商品名称", "销售商", "发货商", "库存数量", "商品单价", "评价", "评分", "包邮状况" };
private User user;
private double sumprice = 0;
private Order order;
public Buyer(ArrayList<Commodity> commodities,User users) {
this.commodity = commodities;
this.user = users;
JFrame jf = new JFrame("Mall");
JPanel jpanel = new JPanel();
JButton addbtn = new JButton("添加商品");
JButton showbtn = new JButton("展示所有商品");
JButton deletebtn = new JButton("移除商品");
JButton findbtn = new JButton("查找商品");
JButton orderbtn = new JButton("订单");
JButton spricebtn = new JButton("显示总价");
JButton comfirmorderbtn = new JButton("确认下单");
jf.setSize(350, 100);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
addbtn.addActionListener((ActionListener) new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
add();
}
});
showbtn.addActionListener((ActionListener) new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
show();
}
});
deletebtn.addActionListener((ActionListener) new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
delete();
}
});
findbtn.addActionListener((ActionListener) new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
find();
}
});
orderbtn.addActionListener((ActionListener) new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
order();
}
});
spricebtn.addActionListener((ActionListener)new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
for (Commodity com : shoppingcart) {
sumprice += com.getPrice();
}
JOptionPane.showMessageDialog(null, "总价为"+sumprice, "提示", JOptionPane.INFORMATION_MESSAGE);
}
});
comfirmorderbtn.addActionListener((ActionListener)new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
int confirm = JOptionPane.showConfirmDialog(null, "总价为"+sumprice+"\n"+"是否下单", "提示", JOptionPane.YES_NO_CANCEL_OPTION);
if (confirm == 0) {
order = new Order(shoppingcart);
user.getOrder().add(order);
}
}
});
jpanel.add(addbtn);
jpanel.add(showbtn);
jpanel.add(deletebtn);
jpanel.add(findbtn);
jpanel.add(orderbtn);
jpanel.add(spricebtn);
jpanel.add(comfirmorderbtn);
jf.setContentPane(jpanel);
jf.pack();
jf.setVisible(true);
}
//添加商品
public void Add() {
int commodityId = Integer.valueOf(JOptionPane.showInputDialog(null, "请输入要添加入购物车的商品的id"));
for (Commodity com : commodity) {
if (com.getId() == commodityId) {
shoppingcart.add(com);
JOptionPane.showMessageDialog(null, "添加成功", "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}
}
JOptionPane.showMessageDialog(null, "无该商品", "提示", JOptionPane.ERROR_MESSAGE);
}
//展示购物车内商品
public void Show() {
JFrame jf = new JFrame("商品信息");
jf.setSize(500, 250);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
if (!shoppingcart.isEmpty()) {
Object[][] commodityData = new Object[shoppingcart.size()][9];
for (int i = 0; i < shoppingcart.size(); i++) {
Commodity com = shoppingcart.get(i);
commodityData[i][0] = com.getId();
commodityData[i][1] = com.getCommodityName();
commodityData[i][2] = com.getDelear();
commodityData[i][3] = com.getShipper();
commodityData[i][4] = com.getStockcount();
commodityData[i][5] = com.getPrice();
commodityData[i][6] = com.getEvaluate();
commodityData[i][7] = com.getScore();
commodityData[i][8] = com.getParcelstatus();
}
JTable jt = new JTable(commodityData,commodityTitle);
JScrollPane scrollPane = new JScrollPane(jt);
jf.add(scrollPane);
jf.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "没有商品", "提示", JOptionPane.ERROR_MESSAGE);
}
}
//移除商品
public void Delete() {
if (!shoppingcart.isEmpty()) {
String commodityName = JOptionPane.showInputDialog(null, "请输入要移除的商品名称");
for (int i = 0; i < shoppingcart.size(); i++) {
if (commodityName.equals(shoppingcart.get(i).getCommodityName())) {
shoppingcart.remove(i);
JOptionPane.showMessageDialog(null, "移除成功", "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}
else{
JOptionPane.showMessageDialog(null, "无该商品", "提示", JOptionPane.ERROR_MESSAGE);
}
}
}
else{
JOptionPane.showMessageDialog(null, "没有商品", "提示", JOptionPane.ERROR_MESSAGE);
}
}
//通过id查找商品
public void Find() {
if (!shoppingcart.isEmpty()) {
int commodityId = Integer.valueOf(JOptionPane.showInputDialog(null, "请输入要查找商品的ID"));
for (Commodity com : shoppingcart) {
if (com.getId() == commodityId) {
JFrame jf = new JFrame("商品信息");
jf.setSize(500, 250);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
Object[][] commodityData = new Object[1][9];
commodityData[0][0] = com.getId();
commodityData[0][1] = com.getCommodityName();
commodityData[0][2] = com.getDelear();
commodityData[0][3] = com.getShipper();
commodityData[0][4] = com.getStockcount();
commodityData[0][5] = com.getPrice();
commodityData[0][6] = com.getEvaluate();
commodityData[0][7] = com.getScore();
commodityData[0][8] = com.getParcelstatus();
JTable jt = new JTable(commodityData, commodityTitle);
JScrollPane scrollPane = new JScrollPane(jt);
jf.add(scrollPane);
jf.setVisible(true);
return;
}
else
{
JOptionPane.showMessageDialog(null, "无该商品", "提示", JOptionPane.ERROR_MESSAGE);
}
}
}else{
JOptionPane.showMessageDialog(null, "没有商品", "提示", JOptionPane.ERROR_MESSAGE);
}
}
//订单界面
public void Order()
{
orderG orderG = new orderG(order);
}
}

浙公网安备 33010602011771号