📜  使用Java Swing 的披萨店计费系统(1)

📅  最后修改于: 2023-12-03 15:06:52.447000             🧑  作者: Mango

使用Java Swing的披萨店计费系统

介绍

本系统是一个基于Java Swing的披萨店计费系统,可以方便地计算顾客订单的总价,实现了基本的增删查改功能,利用文本文件保存数据,支持数据的持久化。

功能

本系统主要分为两个部分:前台和后台。前台为计费界面,后台为数据管理界面。

前台功能
  • 选择披萨种类、尺寸和配料,并添加到订单列表;
  • 查看订单列表,包括披萨种类、尺寸、配料和单价;
  • 删除订单列表中的披萨;
  • 计算订单总价。
后台功能
  • 添加、查看、修改和删除披萨种类、尺寸和配料;
  • 查看订单列表,包括顾客姓名、订单号、订单时间和订单总价。
技术实现

本系统使用了Java Swing和Java IO技术实现,具体如下:

Java Swing
  • JFrame:程序主窗体,包括计费界面和数据管理界面;
  • JButton:按钮,用于触发事件;
  • JTextField:文本框,用于输入顾客搜索信息;
  • JTable:表格,用于显示订单列表和披萨种类、尺寸、配料等管理信息;
  • JComboBox:下拉框,用于选择披萨种类、尺寸和配料。
Java IO
  • FileReader:读取文件;
  • FileWriter:写入文件;
  • BufferedReader:读取文件的缓存区;
  • PrintWriter:写入文件的缓存区。
代码片段
计费界面
public class PaymentFrame extends JFrame {

    // 构造函数
    public PaymentFrame() {
        // 设置界面标题
        setTitle("披萨店计费系统");
        // 设置界面大小
        setSize(800, 600);
        // 设置界面在屏幕上居中显示
        setLocationRelativeTo(null);
        // 设置关闭按钮时退出程序
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 初始化计费界面
        initPaymentPanel();
        // 显示界面
        setVisible(true);
    }

    // 初始化计费界面
    private void initPaymentPanel() {
        // 创建外部面板
        JPanel outerPanel = new JPanel();
        outerPanel.setLayout(new BorderLayout());

        // 创建计费面板
        PaymentPanel paymentPanel = new PaymentPanel();
        // 将计费面板添加到外部面板中间
        outerPanel.add(paymentPanel, BorderLayout.CENTER);

        // 设置外部面板为内容面板
        setContentPane(outerPanel);
    }
}
数据管理界面
public class DataManagerFrame extends JFrame {

    // 构造函数
    public DataManagerFrame() {
        // 设置界面标题
        setTitle("披萨店数据管理");
        // 设置界面大小
        setSize(800, 600);
        // 设置界面在屏幕上居中显示
        setLocationRelativeTo(null);
        // 设置关闭按钮时隐藏窗口
        setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

        // 初始化数据管理界面
        initDataPanel();
        // 显示界面
        setVisible(true);
    }

    // 初始化数据管理界面
    private void initDataPanel() {
        // 创建外部面板
        JPanel outerPanel = new JPanel();
        outerPanel.setLayout(new BorderLayout());

        // 创建数据面板
        DataPanel dataPanel = new DataPanel();
        // 将数据面板添加到外部面板中间
        outerPanel.add(dataPanel, BorderLayout.CENTER);

        // 设置外部面板为内容面板
        setContentPane(outerPanel);
    }
}
总结

本系统是一个简单的披萨店计费系统,利用Java Swing和Java IO技术实现了基本的增删查改功能,同时支持数据的持久化。对于初学者来说,可以作为一个练手项目,熟悉Java Swing和Java IO的使用。对于进阶者来说,可以扩展更多的功能,如连接数据库等。