餐厅管理系统
通过构思将界面分为五个部分,分别是北部的餐厅名称、西部的菜式导航、中部的菜式选择、南部的操作按钮、和东部的菜单显示。食堂订餐系统解决了现实中存在的订餐问题,可以自由订退餐,实时扣款,解决用餐排队问题,减少人力成本。
开发环境:
JDK-11.0.2_windows-x64_bin
开发工具:
Eclipse
使用界面:
使用说明:
登录账号密码都为:123;
要修改登录账号和密码在第一部分代码找到登录时比较字符串修改即可;
图片保存在本地所以会找不到图片,可以在餐厅管理系统下创建文件夹,放入你下载的图片,然后在第二部分代码找到对应类型的菜单中输入文件路径并修改菜名。
package 餐厅管理系统;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Land {
private JFrame jf;
private JPanel jp1;
private JPanel jp2;
private JPanel jp3;
private JPanel jp4;
private JTextField jtf1;
private JPasswordField jpf1;
private JLabel jl1;
private JLabel jl2;
private JButton jb1;
private JButton jb2;
public void init() {
jf = new JFrame("登陆");
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jp4 = new JPanel();
jtf1 = new JTextField(15);
jpf1 = new JPasswordField (15);
jpf1.setEchoChar('*');
jl1 = new JLabel("用户");
jl2 = new JLabel("密码");
jb1 = new JButton("登陆");
jb2 = new JButton("重置");
jf.setLayout(new GridLayout(3,1));
jf.add(jp2);
jf.add(jp3);
jf.add(jp4);
jp2.add(jl1);
jp2.add(jtf1);
jp3.add(jl2);
jp3.add(jpf1);
jp4.add(jb1);
jp4.add(jb2);
jb1.addActionListener(new ButtonListener());
jb2.addActionListener(new ButtonListener());
jf.pack();
jf.setLocation(400, 300);
jf.setLocationRelativeTo(null);
jf.setVisible(true);
jf.setAlwaysOnTop(false);
}
private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
if("登陆".equals(command) && jtf1.getText().equals("123") && jpf1.getText().equals("123")) {
new System().init(jtf1.getText());
jf.setVisible(false);
}
else if("登陆".equals(command) && jtf1.getText().equals("") && jpf1.getText().equals("")) {
JOptionPane.showMessageDialog(null,"请输入用户名和密码","提示",1);
}
else if("重置".equals(command)) {
jtf1.setText("");
jpf1.setText("");
}
else {
JOptionPane.showMessageDialog(null,"用户名或密码错误!","错误 ",0);
jtf1.setText("");
jpf1.setText("");
}
}
}
public static void showMessageDialog(Component parentComponent,Object message,String title,int messageType,Icon icon) {
}
public static void main(String[] args) {
new Land().init();
}
}
package 餐厅管理系统;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.util.ArrayList;
import java.util.Vector;
import java.util.Calendar;
import java.util.Date;
import java.io.*;
import java.text.SimpleDateFormat;
//事件处理包
import java.awt.event.*;
public class System implements ActionListener{
//北部区域
JMenuBar jm1=new JMenuBar();
private JLabel jl1;
//南部区域
private JButton jb1, jb2, jb3, jb4 , jb5;
private JPanel jp1;
//西部区域
private JTabbedPane jtp2;
private JPanel jp8;
private JButton jb6, jb7, jb8, jb9, jb10, jb11;
//东部区域
private JPanel jp9;
private JComboBox jcb11;
private JLabel jl20, jl21, jl22;
private JTextField jtf2;
private JTable jt;
private JScrollPane jsp;
String[] jg = {
"桌1", "桌2", "桌3", "桌4", "桌5", "桌6" };
private DefaultTableModel model;
private Vector data;
private Vector names;
//中部区域
private JTabbedPane jtp;// 选项卡窗格
private ImageIcon img;
private JPanel jp2, jp3, jp4, jp5, jp6, jp7;
private JLabel jl2, jl3, jl4, jl5, jl6, jl7, jl8, jl9, jl10, jl11, jl12, jl13, jl14, jl15, jl16, jl17, jl18, jl19;
private JCheckBox jcb1, jcb2, jcb3, jcb4, jcb5, jcb6, jcb7, jcb8, jcb9;
//判断
boolean B = true;
//文件输出
BufferedWriter out;
//主框架
JFrame jf;
public void init(String username){
//北部区域
jl1 = new JLabel("*****XX餐厅欢迎您*****",JLabel.CENTER);
jl1.setOpaque(true);//设置背景颜色必须先将它设置为不透明的,因为默认是透明的。
jl1.setBackground(Color.pink);
Font f = new Font("楷体",Font.PLAIN,45);
jl1.setFont(f);
jl1.setForeground(Color.BLUE);
JMenu menu1=new JMenu("系统设置");
jm1.add(menu1);
JMenu menu2=new JMenu("餐厅名称字体");
JMenu menu3=new JMenu("餐厅名称颜色");
JMenuItem item9=new JMenuItem("退出登录");
menu1.add(menu2);
menu1.add(menu3);
menu1.addSeparator();
menu1.add(item9);
//设置监听退出登录
item9.addActionListener(new ActionListener() {
@Override
public void actionPerformed( ActionEvent e) {
int i=JOptionPane.showConfirmDialog(null, "是否真的退出登录",
"退出登录",JOptionPane.YES_NO_OPTION);
if(i == JOptionPane.YES_OPTION) {
jf.setVisible(false);
new Land().init();
}
}
});
//菜单栏设置标题字体
JMenuItem item1=new JMenuItem("楷体");
JMenuItem item2=new JMenuItem("宋体");
JMenuItem item3=new JMenuItem("黑体");
JMenuItem item4=new JMenuItem("正文");
menu2.add(item1);
menu2.add(item2);
menu2.add(item3);
menu2.add(item4);
item1.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e) {
Font f = new Font("楷体",Font.PLAIN,45);
jl1.setFont(f);
}
});
item2.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e) {
Font f = new Font("宋体",Font.PLAIN,45);
jl1.setFont(f);
}
});
item3.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e) {
Font f = new Font("黑体",Font.PLAIN,45);
jl1.setFont(f);
}
});
item4.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e) {
Font f = new Font("正文",Font.PLAIN,45);
jl1.setFont(f);
}
});
//菜单栏设置标题颜色
JMenuItem item5=new JMenuItem("蓝色");
JMenuItem item6=new JMenuItem("红色");
JMenuItem item7=new JMenuItem("黑色");
JMenuItem item8=new JMenuItem("绿色");
menu3.add(item5);
menu3.