最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

1.系統(tǒng)介紹

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

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

2.系統(tǒng)設計

1.界面設計

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

界面截圖:

小票信息截圖:

2.后臺設計

采用了抽象工廠模式和策略模式設計餐品的創(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("當季主打");
  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抽象工廠實現(xiàn)kfc點餐鏈接,介紹的很詳細。

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

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

相關文章

  • Spring框架整合Java Web Token問題

    Spring框架整合Java Web Token問題

    這篇文章主要介紹了Spring框架整合Java Web Token問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Java多種方法實現(xiàn)合并多個list對象列表

    Java多種方法實現(xiàn)合并多個list對象列表

    Java編程中,合并多個列表對象可以通過Stream?API或傳統(tǒng)循環(huán)方式實現(xiàn),使用Stream?API合并時,利用flatMap方法將嵌套的List展平,再通過collect方法收集成一個新的列表,傳統(tǒng)循環(huán)則通過創(chuàng)建一個空的ArrayList,并通過遍歷每個列表將元素添加進去
    2024-09-09
  • java中this與super關鍵字的使用方法

    java中this與super關鍵字的使用方法

    這篇文章主要介紹了java中this與super關鍵字的使用方法的相關資料,希望通過本文能幫助到大家,讓大家徹底理解應用java中this與super,需要的朋友可以參考下
    2017-09-09
  • SpringBoot整合微信登錄功能的實現(xiàn)方案

    SpringBoot整合微信登錄功能的實現(xiàn)方案

    今天通過本文給大家分享微信登錄與SpringBoot整合過程,微信掃描登錄實現(xiàn)代碼知道掃描后點擊登錄的全部過程,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • SpringBoot整合WebService的實戰(zhàn)案例

    SpringBoot整合WebService的實戰(zhàn)案例

    WebService是一個SOA(面向服務的編程)的架構(gòu),它是不依賴于語言,平臺等,可以實現(xiàn)不同的語言間的相互調(diào)用,這篇文章主要給大家介紹了關于SpringBoot整合WebService的相關資料,需要的朋友可以參考下
    2024-07-07
  • Java中如何將String轉(zhuǎn)JSONObject

    Java中如何將String轉(zhuǎn)JSONObject

    這篇文章主要介紹了Java中如何將String轉(zhuǎn)JSONObject,String類型轉(zhuǎn)JSONObject,下面有兩種方式可以進行轉(zhuǎn)換,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Ajax登錄驗證實現(xiàn)代碼

    Ajax登錄驗證實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了jQuery+ajax實現(xiàn)用戶登錄驗證,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 淺析Spring配置文件

    淺析Spring配置文件

    本文主要對Spring配置文件進行了介紹。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • SpringBoot+Mybatis-plus實現(xiàn)分頁查詢的示例代碼

    SpringBoot+Mybatis-plus實現(xiàn)分頁查詢的示例代碼

    本文主要介紹了SpringBoot+Mybatis-plus實現(xiàn)分頁查詢的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • MyBatis傳入數(shù)組集合類并使用foreach遍歷

    MyBatis傳入數(shù)組集合類并使用foreach遍歷

    這篇文章主要介紹了MyBatis傳入數(shù)組集合類并使用foreach遍歷,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02

最新評論

西贡区| 安图县| 武陟县| 鸡东县| 青州市| 龙海市| 昌图县| 峨边| 阿巴嘎旗| 威宁| 凤庆县| 阆中市| 兰坪| 南昌市| 名山县| 万年县| 上虞市| 那坡县| 维西| 武隆县| 太白县| 虎林市| 登封市| 阳信县| 广南县| 察隅县| 扎鲁特旗| 晴隆县| 南丰县| 舟曲县| 穆棱市| 阿拉善右旗| 东光县| 蓬莱市| 德惠市| 枞阳县| 赤水市| 千阳县| 婺源县| 班戈县| 清新县|