欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java Gui實(shí)現(xiàn)肯德基點(diǎn)餐收銀系統(tǒng)

 更新時間:2021年06月25日 17:08:26   作者:IT精英之路  
這篇文章主要為大家詳細(xì)介紹了java Gui實(shí)現(xiàn)肯德基點(diǎn)餐收銀系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

大家應(yīng)該都去麥當(dāng)勞或肯德基吃過快餐,參考肯德基官網(wǎng)的信息模擬肯德基快餐店的收銀系統(tǒng),簡單的java Gui模擬的肯德基收銀系統(tǒng)。

1.系統(tǒng)介紹

同學(xué)們應(yīng)該都去麥當(dāng)勞或肯德基吃過快餐吧?請同學(xué)們參考肯德基官網(wǎng)的信息模擬肯德基快餐店的收銀系統(tǒng),合理使用C++/python/Java,結(jié)合設(shè)計模式(2種以上)至少實(shí)現(xiàn)系統(tǒng)的以下功能:

1.正常餐品結(jié)算和找零。
2.基本套餐結(jié)算和找零。
3.使用優(yōu)惠劵購買餐品結(jié)算和找零。
4.可在一定時間段參與店內(nèi)活動(自行設(shè)計或參考官網(wǎng)信息)。
5.模擬打印小票的功能(寫到文件中)。

2.系統(tǒng)設(shè)計

1.界面設(shè)計

采用java的Gui實(shí)現(xiàn)簡單的界面布局,界面上主要是圖片和數(shù)據(jù)的顯示.我大多采用的是BorderLayout布局的方式,然后設(shè)置每個方位的大小.界面就很快做出來了.

界面截圖:

小票信息截圖:

2.后臺設(shè)計

采用了抽象工廠模式和策略模式設(shè)計餐品的創(chuàng)建.

在

3.主要源代碼

主界面:

package view;

import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.*;

public class MenuPanel extends JPanel {
 private JButton button1,button3,sure,canel,select;
 private JPanel panel01, panel02 ,panel03,panel04,panel05,panel;
 private JTable table;
 private JButton []btuIcon= new JButton[8];
 //充值區(qū)域
 private JLabel name,account,lastmoney,rechange;
 JTextField namef,accountf, passwordf,rechangef;
 private JMenuBar menuBar;
 private JMenu menu1,menu2,menu3;
 public static int menuType=1;
 private Object a[][]=new Object[100][4];
 private Object th[]={"商品名稱","金額","數(shù)量","操作"};

 public MenuPanel(){
  init();
  layOut();
  add();
 }
 public void init(){

  panel02 =new JPanel();
  panel02.setBorder(new TitledBorder("結(jié)算"));
  panel01 =new JPanel();

  panel03=new JPanel();
  panel03.setBorder(new TitledBorder(""));

  panel04=new JPanel();
  panel04.setBorder(new TitledBorder(""));
  panel05=new JPanel();
  panel05.setBorder(new TitledBorder("充值"));
  panel=new JPanel();
  panel.setBorder(new TitledBorder(""));


  //結(jié)算區(qū)域
  table=new JTable(a,th);
  table.setFont(new Font("Dialog", 1, 20));
  table.setBounds(0,0,100,100);
  table.setRowHeight(30);

  button1=new JButton("結(jié)賬");
  button1.setSize(100,60);
  button1.addActionListener(new SettleCountsListener(table));
  button3=new JButton("刪除");
  button3.setBounds(300,10,100,50);


//菜單欄
  menuBar=new JMenuBar();
  menu1=new JMenu("當(dāng)季主打");
  menu1.setSelected(true);
  menu2=new JMenu("童書套餐");
  menu3=new JMenu("人氣明星餐");

  menu1.addMenuListener(new MenusListener(btuIcon,1));
  menu2.addMenuListener(new MenusListener(btuIcon,2));
  menu3.addMenuListener(new MenusListener(btuIcon,3));
  //套餐區(qū)域
  for(int i=0;i<8;i++) {
   btuIcon[i]=new JButton("套餐"+(i+1));
   //添加套餐按鈕事件
   if(menu1.isSelected()){
    btuIcon[i].addActionListener(new TaocanListener(i,table));
   }
   else if(menu2.isSelected()){
    btuIcon[i].addActionListener(new TaocanListener(i,table));
   }
   else if(menu3.isSelected()){
    btuIcon[i].addActionListener(new TaocanListener(i,table));
   }
   ImageIcon icon = new ImageIcon("src/images/d"+(i+1)+".png");
   btuIcon[i].setIcon(icon);
  }



  //充值區(qū)域
  name=new JLabel("姓名:");
  name.setFont(new Font("Dialog", 1, 20));
  name.setBounds(50,20,50,50);
  namef=new JTextField();
  namef.setBounds(120,30,200,35);
  account=new JLabel("賬號:");
  account.setFont(new Font("Dialog", 1, 20));
  account.setBounds(50,70,50,50);
  accountf=new JTextField();
  accountf.setBounds(120,80,200,35);
  lastmoney=new JLabel("密碼:");
  lastmoney.setFont(new Font("Dialog", 1, 20));
  lastmoney.setBounds(50,120,50,50);
  passwordf =new JTextField();
  passwordf.setBounds(120,130,200,35);
  rechange= new JLabel("充值:");
  rechange.setFont(new Font("Dialog", 1, 20));
  rechange.setBounds(50,170,50,50);
  rechangef=new JTextField("0.0");
  rechangef.setBounds(120,180,200,35);

  sure=new JButton("確定充值");
  sure.setBounds(40,235,100,40);
  canel=new JButton("取消充值");
  canel.setBounds(300,235,100,40);
  select=new JButton("查詢余額");
  select.setBounds(400,150,100,40);
  sure.addActionListener(new RechangeListener(this,1));
  canel.addActionListener(new RechangeListener(this,2));
  select.addActionListener(new RechangeListener(this,3));



 }
 public void add(){
  //添加面板
  this.add(panel,BorderLayout.CENTER);
  this.add(panel02,BorderLayout.WEST);
  //panel02添加組件, 添加table組件(滾動條方式添加),放在panel01的north方位
  panel02.setLayout(new GridLayout(2,1));


  //左側(cè)欄添加按鈕
  panel02.add(new JScrollPane(table));
  panel02.add(panel03);
  panel03.add(button3);
  panel03.add(button1);

  //
  panel.setLayout(new BorderLayout());
  menuBar.add(menu1);

  menuBar.add(menu2);
  menuBar.add(menu3);
  panel.add(menuBar,BorderLayout.NORTH);
  panel.add(panel01,BorderLayout.CENTER);
  panel01.setLayout(new BorderLayout());
  panel04.setPreferredSize(new Dimension(225,450));
  panel01.add(panel04,BorderLayout.NORTH);
  panel01.add(panel05,BorderLayout.CENTER);



  //選購區(qū)域
  panel04.setLayout(new GridLayout(2,4));
  for(int i=0;i<8;i++) {
   panel04.add(btuIcon[i]);
  }

  //充值區(qū)域
  panel05.setLayout(null);
  panel05.add(name);
  panel05.add(namef);
  panel05.add(account);
  panel05.add(accountf);
  panel05.add(lastmoney);
  panel05.add(passwordf);
  panel05.add(rechange);
  panel05.add(rechangef);
  panel05.add(sure);
  panel05.add(canel);
  panel05.add(select);

 }
 public void layOut(){
  this.setLayout(new BorderLayout());
 }
}

抽象工廠:

參考這個java抽象工廠實(shí)現(xiàn)kfc點(diǎn)餐鏈接,介紹的很詳細(xì)。

更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA安裝Activiti插件并解決亂碼問題(推薦)

    IDEA安裝Activiti插件并解決亂碼問題(推薦)

    這篇文章主要介紹了IDEA安裝Activiti插件并解決亂碼問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • postman中實(shí)現(xiàn)傳遞@RequestBody參數(shù)

    postman中實(shí)現(xiàn)傳遞@RequestBody參數(shù)

    這篇文章主要介紹了postman中實(shí)現(xiàn)傳遞@RequestBody參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 使用JSONObject.toJSONString 過濾掉值為空的key

    使用JSONObject.toJSONString 過濾掉值為空的key

    這篇文章主要介紹了使用JSONObject.toJSONString 過濾掉值為空的key,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • springboot2自動加載sql文件的實(shí)現(xiàn)

    springboot2自動加載sql文件的實(shí)現(xiàn)

    本文主要介紹了springboot2自動加載sql文件的實(shí)現(xiàn),通過配置文件或注解的方式,我們可以輕松地將SQL語句映射到數(shù)據(jù)庫中,實(shí)現(xiàn)自動加載,感興趣的可以了解一下
    2023-11-11
  • SpringBoot熱重啟配置詳解

    SpringBoot熱重啟配置詳解

    在本篇文章里小編給大家分享的是關(guān)于SpringBoot熱重啟配置知識點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • java中設(shè)計模式(多例)的實(shí)例詳解

    java中設(shè)計模式(多例)的實(shí)例詳解

    這篇文章主要介紹了java中設(shè)計模式(多例)的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • SpringBoot 多Profile使用與切換方式

    SpringBoot 多Profile使用與切換方式

    這篇文章主要介紹了SpringBoot 多Profile使用與切換方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Java解析JSON數(shù)據(jù)時報錯問題解決方案

    Java解析JSON數(shù)據(jù)時報錯問題解決方案

    這篇文章主要介紹了Java解析JSON數(shù)據(jù)時報錯問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • java教程之二個arraylist排序的示例分享

    java教程之二個arraylist排序的示例分享

    常常遇到數(shù)組排序的問題,下面提供二個java的arraylist排序示例,需要的朋友可以參考下
    2014-03-03
  • 推薦幾款非常實(shí)用的IDEA插件小結(jié)

    推薦幾款非常實(shí)用的IDEA插件小結(jié)

    這篇文章主要介紹了推薦幾款非常實(shí)用的IDEA插件小結(jié),解決你開發(fā)中可望而又不好找的插件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論