一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java Gui實現(xiàn)肯德基點餐收銀系統(tǒng)

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

2021-07-12 15:01IT精英之路 Java教程

這篇文章主要為大家詳細介紹了java Gui實現(xiàn)肯德基點餐收銀系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

1.系統(tǒng)介紹

同學們應(yīng)該都去麥當勞或肯德基吃過快餐吧?請同學們參考肯德基官網(wǎng)的信息模擬肯德基快餐店的收銀系統(tǒng),合理使用c++/python/java,結(jié)合設(shè)計模式(2種以上)至少實現(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實現(xiàn)簡單的界面布局,界面上主要是圖片和數(shù)據(jù)的顯示.我大多采用的是borderlayout布局的方式,然后設(shè)置每個方位的大小.界面就很快做出來了.

界面截圖:

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

小票信息截圖:

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

2.后臺設(shè)計

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

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

3.主要源代碼

主界面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
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點餐鏈接,介紹的很詳細。

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

原文鏈接:https://blog.csdn.net/qq_41094822/article/details/83378149

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高h细节肉爽文办公室 | 91免费高清视频 | 亚洲精品无码不卡在线观看 | 亚洲激情婷婷 | 亚洲国产精品自在自线观看 | 国产人成激情视频在线观看 | 网友自拍偷拍 | 色综合精品 | 99久久综合给久久精品 | 日本最大的黄色网站 | 天天色天天色天天色 | 日日碰碰 | 跪在老师脚下吃丝袜脚 | 2022国产麻豆剧传媒剧情 | 国产精品片| 国产成人精品.一二区 | 波多野结衣女老师 | 爽好紧别夹宝贝叫大声点护士 | 精精国产www视频在线观看免费 | 啊哈~嗯哼~用力cao我小说 | 亚洲男人天堂影院 | 超级碰碰免费视频 | 92国产福利久久青青草原 | 国产巨大bbbb俄罗斯 | 人与动人物人a级特片 | αv在线视频 | 亚洲va欧美va国产综合久久 | 好大水好多好爽好硬好深视频 | jj免费视频| 黑人巨大初黑人解禁作品 | 大学生特黄特色大片免费播放 | 爱情岛论坛亚洲自拍 | 暖暖视频日本 | 欧美同志gaypronvideos | 天天色一色 | www一区二区 | 胸大的姑娘中文字幕视频 | 99热久久这里只精品国产www | 国产久热香蕉在线观看 | 逼逼流水了| 午夜AV国产欧美亚洲高清在线 |