购物车
团队介绍
| 成员姓名 | 负责任务 | 
|---|---|
| 白靖 | 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号