廢話不多說,直接上代碼,功能很簡單,代碼也很簡單。
可能比較復雜的地方就是使用了絕對定位布局管理器。
需要空間想象力比較好!
package com.langxikeji.AwtDemo;import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.FileInputStream;
import javax.imageio.ImageIO;public
class OrderTest {public static void main(String[] args) throws Exception {JFrame frame =
new JFrame(
"點菜系統(tǒng)");frame.setLayout(null);frame.setResizable(
false);frame.setBounds(
100,
100,
600,
500);JButton btn1 =
new JButton(
"北京烤鴨 ¥1");Image img1 = ImageIO.read(
new FileInputStream(
"./src/Food/北京烤鴨.jpg"));ImageIcon icon =
new ImageIcon(img1);btn1.setIcon(icon);btn1.setHorizontalTextPosition(JButton.CENTER);btn1.setVerticalTextPosition(JButton.BOTTOM);btn1.setBounds(
30,
30,
110,
110);frame.add(btn1);JButton btn2 =
new JButton(
"花生 ¥2");Image img2 = ImageIO.read(
new FileInputStream(
"./src/Food/花生.jpg"));icon =
new ImageIcon(img2);btn2.setIcon(icon);btn2.setHorizontalTextPosition(JButton.CENTER);btn2.setVerticalTextPosition(JButton.BOTTOM);btn2.setBounds(
180,
30,
110,
110);frame.add(btn2);JButton btn3 =
new JButton(
"醬牛肉 ¥3");Image img3 = ImageIO.read(
new FileInputStream(
"./src/Food/醬牛肉.jpg"));icon =
new ImageIcon(img3);btn3.setIcon(icon);btn3.setHorizontalTextPosition(JButton.CENTER);btn3.setVerticalTextPosition(JButton.BOTTOM);btn3.setBounds(
30,
180,
110,
110);frame.add(btn3);JButton btn4 =
new JButton(
"王八湯 ¥4");Image img4 = ImageIO.read(
new FileInputStream(
"./src/Food/王八湯.jpg"));icon =
new ImageIcon(img4);btn4.setIcon(icon);btn4.setHorizontalTextPosition(JButton.CENTER);btn4.setVerticalTextPosition(JButton.BOTTOM);btn4.setBounds(
180,
180,
110,
110);frame.add(btn4);JButton btn5 =
new JButton(
"五谷 ¥5");Image img5 = ImageIO.read(
new FileInputStream(
"./src/Food/五谷.jpg"));icon =
new ImageIcon(img5);btn5.setIcon(icon);btn5.setHorizontalTextPosition(JButton.CENTER);btn5.setVerticalTextPosition(JButton.BOTTOM);btn5.setBounds(
30,
330,
110,
110);frame.add(btn5);JButton btn6 =
new JButton(
"原味雞¥6");Image img6 = ImageIO.read(
new FileInputStream(
"./src/Food/原味雞.jpg"));icon =
new ImageIcon(img6);btn6.setIcon(icon);btn6.setHorizontalTextPosition(JButton.CENTER);btn6.setVerticalTextPosition(JButton.BOTTOM);btn6.setBounds(
180,
330,
110,
110);frame.add(btn6);Font font =
new Font(
"楷體", Font.BOLD,
20);Label label1 =
new Label(
"已點菜單:");label1.setForeground(Color.RED);label1.setFont(font);label1.setBounds(
350,
40,
100,
30);frame.add(label1);final List
list =
new List();
list.setFont(font);
list.setForeground(Color.CYAN);
list.setBounds(
350,
80,
200,
350);frame.add(
list);final Label label2 =
new Label(
"菜品總價:0¥");label2.setForeground(Color.RED);label2.setFont(font);label2.setBounds(
350,
430,
200,
50);frame.add(label2);btn1.addActionListener(
new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String[] items =
list.getItems();boolean flag =
false;
int index =
0;
for (
int i =
0; i < items.length; i++) {
if (items[i].contains(
"北京烤鴨")) {index = i;flag =
true;break;}}
if (flag) {String item =
list.getItem(index);
int x_index = item.indexOf(
"X");String
value = item.substring(x_index +
1);item = item.substring(
0, x_index +
1)+ (Integer.parseInt(
value) +
1);
list.remove(index);
list.add(item, index);}
else {
list.add(
"北京烤鴨 X1");}String
value = label2.getText();
int begin =
value.indexOf(
":");
int end =
value.indexOf(
"¥");String money =
value.substring(
begin +
1,
end);String newValue = String.valueOf((Integer.parseInt(money) +
1));
value =
value.replaceAll(money, newValue);label2.setText(
value);}});btn2.addActionListener(
new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String[] items =
list.getItems();boolean flag =
false;
int index =
0;
for (
int i =
0; i < items.length; i++) {
if (items[i].contains(
"花生")) {index = i;flag =
true;break;}}
if (flag) {String item =
list.getItem(index);
int x_index = item.indexOf(
"X");String
value = item.substring(x_index +
1);item = item.substring(
0, x_index +
1)+ (Integer.parseInt(
value) +
1);
list.remove(index);
list.add(item, index);}
else {
list.add(
"花生 X1");}String
value = label2.getText();
int begin =
value.indexOf(
":");
int end =
value.indexOf(
"¥");String money =
value.substring(
begin +
1,
end);String newValue = String.valueOf((Integer.parseInt(money) +
2));
value =
value.replaceAll(money, newValue);label2.setText(
value);}});btn3.addActionListener(
new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String[] items =
list.getItems();boolean flag =
false;
int index =
0;
for (
int i =
0; i < items.length; i++) {
if (items[i].contains(
"醬牛肉")) {index = i;flag =
true;break;}}
if (flag) {String item =
list.getItem(index);
int x_index = item.indexOf(
"X");String
value = item.substring(x_index +
1);item = item.substring(
0, x_index +
1)+ (Integer.parseInt(
value) +
1);
list.remove(index);
list.add(item, index);}
else {
list.add(
"醬牛肉 X1");}String
value = label2.getText();
int begin =
value.indexOf(
":");
int end =
value.indexOf(
"¥");String money =
value.substring(
begin +
1,
end);String newValue = String.valueOf((Integer.parseInt(money) +
3));
value =
value.replaceAll(money, newValue);label2.setText(
value);}});btn4.addActionListener(
new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String[] items =
list.getItems();boolean flag =
false;
int index =
0;
for (
int i =
0; i < items.length; i++) {
if (items[i].contains(
"王八湯")) {index = i;flag =
true;break;}}
if (flag) {String item =
list.getItem(index);
int x_index = item.indexOf(
"X");String
value = item.substring(x_index +
1);item = item.substring(
0, x_index +
1)+ (Integer.parseInt(
value) +
1);
list.remove(index);
list.add(item, index);}
else {
list.add(
"王八湯 X1");}String
value = label2.getText();
int begin =
value.indexOf(
":");
int end =
value.indexOf(
"¥");String money =
value.substring(
begin +
1,
end);String newValue = String.valueOf((Integer.parseInt(money) +
4));
value =
value.replaceAll(money, newValue);label2.setText(
value);}});btn5.addActionListener(
new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String[] items =
list.getItems();boolean flag =
false;
int index =
0;
for (
int i =
0; i < items.length; i++) {
if (items[i].contains(
"五谷")) {index = i;flag =
true;break;}}
if (flag) {String item =
list.getItem(index);
int x_index = item.indexOf(
"X");String
value = item.substring(x_index +
1);item = item.substring(
0, x_index +
1)+ (Integer.parseInt(
value) +
1);
list.remove(index);
list.add(item, index);}
else {
list.add(
"五谷 X1");}String
value = label2.getText();
int begin =
value.indexOf(
":");
int end =
value.indexOf(
"¥");String money =
value.substring(
begin +
1,
end);String newValue = String.valueOf((Integer.parseInt(money) +
5));
value =
value.replaceAll(money, newValue);label2.setText(
value);}});btn6.addActionListener(
new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String[] items =
list.getItems();boolean flag =
false;
int index =
0;
for (
int i =
0; i < items.length; i++) {
if (items[i].contains(
"原味雞")) {index = i;flag =
true;break;}}
if (flag) {String item =
list.getItem(index);
int x_index = item.indexOf(
"X");String
value = item.substring(x_index +
1);item = item.substring(
0, x_index +
1)+ (Integer.parseInt(
value) +
1);
list.remove(index);
list.add(item, index);}
else {
list.add(
"原味雞 X1");}String
value = label2.getText();
int begin =
value.indexOf(
":");
int end =
value.indexOf(
"¥");String money =
value.substring(
begin +
1,
end);String newValue = String.valueOf((Integer.parseInt(money) +
6));
value =
value.replaceAll(money, newValue);label2.setText(
value);}});frame.setVisible(
true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}
}
總結
以上是生活随笔為你收集整理的基于GUI的AWT,Swing写的一个餐厅点菜系统的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。