2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java swing实现简单KFC点餐系统

java swing实现简单KFC点餐系统

时间:2022-10-10 03:03:10

相关推荐

java swing实现简单KFC点餐系统

同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能:

1.正常餐品结算和找零。

2.基本套餐结算和找零。

3.使用优惠劵购买餐品结算和找零。

4.可在一定时间段参与店内活动(自行设计或参考官网信息)。

5.模拟打印小票的功能(写到文件中)。

import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.io.FileWriter;import java.io.IOException;import java.lang.*;import java.text.SimpleDateFormat;import java.util.*;import java.math.*;import java.awt.event.MouseAdapter;import java.awt.image.ImageObserver;import java.awt.image.ImageProducer;import .URL;import java.util.logging.SimpleFormatter;import static java.lang.Math.random;public class Mykfc extends Panel{public static void main(String[] args){//创建frame及panel容器JFrame frame=new JFrame("KFC点餐");JPanel panel1=new JPanel();//设置label标签JLabel label1=new JLabel("应付价钱");JLabel label2=new JLabel("实付价钱");JLabel label3=new JLabel("优惠折扣(如不选择则默认为无折扣)");JLabel label4=new JLabel("结余");JLabel label5=new JLabel("汉堡个数(20元一个)");JLabel label6=new JLabel("可乐瓶数(5元一个)");JLabel label7=new JLabel("薯条(10元一个)");JLabel label8=new JLabel("套餐一:香辣鸡腿堡+可乐+薯条");JLabel label9=new JLabel("套餐二:香辣鸡腿堡+可乐+冰淇淋+薯条");JLabel label10=new JLabel("套餐三:由本店随机奉上");JLabel label11=new JLabel("亲!如果已选择本店套餐请不要在选择具体商品哦!如果您非要选择具体商品则会按您所输入的商品进行计费!");//设置三个空容器来存储图片JLabel label12=new JLabel();JLabel label13=new JLabel();JLabel label14=new JLabel();ImageIcon icon1=new ImageIcon("H:\\java\\编译\\inteli idea\\文件\\Kfc\\1.jpg"); //如果不能修改请将路径改为自己的文件位置icon1.setImage(icon1.getImage().getScaledInstance(100,100,1));label12.setIcon(icon1);ImageIcon icon2=new ImageIcon("H:\\java\\编译\\inteli idea\\文件\\Kfc\\2.jpg"); //如果不能修改请将路径改为自己的文件位置icon2.setImage(icon2.getImage().getScaledInstance(100,100,1));label13.setIcon(icon2);ImageIcon icon3=new ImageIcon("H:\\java\\编译\\inteli idea\\文件\\Kfc\\3.jpg"); //如果不能修改请将路径改为自己的文件位置icon3.setImage(icon3.getImage().getScaledInstance(100,100,1));label14.setIcon(icon3);//创建文本框JTextField textField1=new JTextField(20);JTextField textField2=new JTextField(20);JTextField textField3=new JTextField(20);JTextField textField4=new JTextField(20);JTextField textField5=new JTextField(20);JTextField textField6=new JTextField(20);JTextField textField7=new JTextField(20);JCheckBox checkBox1=new JCheckBox();JCheckBox checkBox2=new JCheckBox();JCheckBox checkBox3=new JCheckBox();//创建按钮JButton button1=new JButton("计算应付价钱(ALT+1)");JButton button2=new JButton("计算找零(ALT+2)");JButton button3=new JButton("save(ALT+3)");//设置按钮快捷键button1.setMnemonic(KeyEvent.VK_1);button2.setMnemonic(KeyEvent.VK_2);button3.setMnemonic(KeyEvent.VK_3);//设置按钮字体button1.setFont(new Font("微软黑体",Font.BOLD,20));button2.setFont(new Font("微软黑体",Font.BOLD,20));button3.setFont(new Font("微软黑体",Font.BOLD,20));//设置label标签属性label1.setSize(500,500);label2.setSize(500,500);label3.setSize(500,500);label4.setSize(500,500);label5.setSize(500,500);label6.setSize(500,500);label7.setSize(500,500);textField1.setSize(100,100);textField2.setSize(100,100);textField3.setSize(100,100);textField3.setText(""+1);textField4.setSize(100,100);textField5.setSize(100,100);textField6.setSize(100,100);textField7.setSize(100,100);label1.setFont(new Font("微软黑体",Font.BOLD,50));label2.setFont(new Font("微软黑体",Font.BOLD,50));label3.setFont(new Font("微软黑体",Font.BOLD,50));label4.setFont(new Font("微软黑体",Font.BOLD,50));label5.setFont(new Font("微软黑体",Font.BOLD,50));label6.setFont(new Font("微软黑体",Font.BOLD,50));label7.setFont(new Font("微软黑体",Font.BOLD,50));label8.setFont(new Font("微软黑体",Font.BOLD,50));label9.setFont(new Font("微软黑体",Font.BOLD,50));label10.setFont(new Font("微软黑体",Font.BOLD,50));label11.setFont(new Font("微软雅黑", Font.BOLD, 20));label11.setForeground(Color.red);textField1.setFont(new Font("微软黑体",Font.BOLD,20));textField2.setFont(new Font("微软黑体",Font.BOLD,20));textField3.setFont(new Font("微软黑体",Font.BOLD,20));textField4.setFont(new Font("微软黑体",Font.BOLD,20));textField5.setFont(new Font("微软黑体",Font.BOLD,20));textField6.setFont(new Font("微软黑体",Font.BOLD,20));textField7.setFont(new Font("微软黑体",Font.BOLD,20));//将创建的组件添加到顶层容器中panel1.add(label8);panel1.add(checkBox1);panel1.add(label9);panel1.add(checkBox2);panel1.add(label10);panel1.add(checkBox3);panel1.add(label11);panel1.add(label5);panel1.add(label12);panel1.add(textField5);panel1.add(label6);panel1.add(label13);panel1.add(textField6);panel1.add(label7);panel1.add(label14);panel1.add(textField7);panel1.add(label1);panel1.add(textField1);panel1.add(label2);panel1.add(textField2);panel1.add(label3);panel1.add(textField3);panel1.add(label4);panel1.add(textField4);panel1.add(button1);panel1.add(button2);panel1.add(button3);//添加按钮的事件监听器button1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int d1=Integer.parseInt(textField5.getText());int d2=Integer.parseInt(textField6.getText());int d3=Integer.parseInt(textField7.getText());textField1.setText(""+((d1*20)+(d2*5)+(d3*10)));}});button2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {double n1=Double.parseDouble(textField1.getText());double n2=Double.parseDouble(textField2.getText());double n3=Double.parseDouble(textField3.getText());textField4.setText(""+(n2-n1*n3));}});checkBox1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {textField1.setText(""+((1*20)+(1*5)+(2*10)));}});checkBox2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {textField1.setText(""+((1*20)+(1*5)+(1*10)+(1*15)));}});checkBox3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {textField1.setText(""+(int)(random()*50+25));}});//将panel添加至frameframe.add(panel1);frame.setBounds(0,0, 1000,1000);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);/*JScrollBar scrollBar=new JScrollBar();panel.add(scrollBar);JTabbedPane tabbedPane=new JTabbedPane();panel.add(tabbedPane);JRadioButton radioButton=new JRadioButton();panel.add(radioButton);JList list=new JList();panel.add(list);*///double a1=Double.parseDouble(textField1.getText());button3.addActionListener(new ActionListener() { //将按钮3设置绑定为存储并打印票据的方式@Overridepublic void actionPerformed(ActionEvent e) {Date d=new Date();SimpleDateFormat day=new SimpleDateFormat("yy-MM-dd HH:mm:ss");double d1=Double.parseDouble(textField1.getText());double d2=Double.parseDouble(textField2.getText());double d3=Double.parseDouble(textField3.getText());double d4=Double.parseDouble(textField4.getText());double d5=Double.parseDouble(textField5.getText());double d6=Double.parseDouble(textField6.getText());double d7=Double.parseDouble(textField7.getText());try{FileWriter fw = new FileWriter("otherout1.txt", true);fw.write("欢迎光临肯德基:"+"\r\n");fw.write("------------------------------"+"\r\n");fw.write("当前订单产生时间为:"+day.format(d)+"\r\n");fw.write("您共点汉堡:"+d5+"个"+"\t"+"应付"+(d5*20)+"元"+"\r\n");fw.write("您共点可乐:"+d6+"瓶"+"\t"+"应付"+(d6*5)+"元"+"\r\n");fw.write("您共点薯条:"+d7+"包"+"\t"+"应付"+(d7*10)+"元"+"\r\n");fw.write("应付价钱:"+d1+"\r\n");fw.write("实付价钱:"+d2+"\r\n");fw.write("由于您拥有"+d3+"折扣的优惠券"+"\r\n");fw.write("您最终应付价格为:"+d4+"\r\n");fw.write("------------------------------"+"\r\n");fw.write("谢谢惠顾!期待您的再次光临!"+"\r\n");fw.close();} catch (IOException a){a.printStackTrace();}}});}}

运行截图:

不太符合正常审美(啊哈哈哈)!

票据打印:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。