餐厅点菜管理系统Java语言程序课程设计
项目功能模块
系统功能模块如下:
(1)权限管理:包括用户的注册、登录、用户信息管理。
(2)点餐功能:包括餐单的增加、修改、删除、查看。
(3)订单管理:包括生成订单、修改、删除、查找。
(4)结账管理:统计消费的总额。
(5)查看历史:查看消费历史。
(6)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(7)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
package restaurant;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import java.awt.Font;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
class LoginCheck{
private String name;
private String password;
public LoginCheck(String name,String password){
this.name=name;
this.password=password;
}
public boolean equals() throws IOException{
String s[],str;
FileReader fr = new FileReader("register.txt");
BufferedReader br = new BufferedReader(fr);
str = br.readLine();
if(str == null)
return true;
s = str.split(",");
while(str!=null)
{
if(s[0].equals(name) && s[1].equals(password))
{
FileWriter fw = new FileWriter("login.txt",false);
BufferedWriter bw = new BufferedWriter(fw);
str = s[0] + "," + s[1] + "\n";
bw.write(str);
bw.flush();
bw.close();
fw.close();
return true;
}
if(s[0].equals(name) && !s[1].equals(password))
{
return false;
}
str = br.readLine();
if(str == null)
return false;
s = str.split(",");
}
return false;
}
}
public class appframe extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
appframe frame = new appframe();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public appframe() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton button_1 = new JButton("\u6CE8\u518C");
button_1.setBounds(229, 171, 113, 27);
contentPane.add(button_1);
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
if(e.getSource() == button_1){
{
new registered();
setVisible(false);
}
}
}
});
JLabel label = new JLabel("\u9910\u5385\u70B9\u83DC\u7CFB\u7EDF");
label.setFont(new Font("宋体", Font.PLAIN, 24));
label.setBounds(142, 23, 144, 36);
contentPane.add(label);
JLabel label_1 = new JLabel("\u7528\u6237\u540D");
label_1.setBounds(33, 84, 72, 18);
contentPane.add(label_1);
JLabel label_2 = new JLabel("\u5BC6\u7801");
label_2.setBounds(33, 128, 72, 18);
contentPane.add(label_2);
textField = new JTextField();
textField.setBounds(119, 81, 176, 24);
contentPane.add(textField);
textField.setColumns(10);
JPasswordField textField_1 = new JPasswordField();
textField_1.setBounds(119, 128, 176, 24);
contentPane.add(textField_1);
textField_1.setColumns(10);
JButton button = new JButton("\u767B\u5F55");
button.setBounds(89, 171, 113, 27);
contentPane.add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
if(e.getSource() == button){
String sname=textField.getText();
String spass=new String(textField_1.getPassword());
LoginCheck log=new LoginCheck(sname,spass);
try {
if(log.equals()){
try {
new frame();
setVisible(false);
} catch (Exception e1) {
e1.printStackTrace();
}
}else{
JOptionPane.showMessageDialog(null, "登录失败,错误的用户名或密码!");
textField_1.setText("");
}
} catch (HeadlessException | IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
}
}
});
setVisible(true);
}
}