废话不多说,直接上代码,功能很简单,代码也很简单。
可能比较复杂的地方就是使用了绝对定位布局管理器。
需要空间想象力比较好!

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("点菜系统");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写的一个餐厅点菜系统相关推荐

  1. java毕业设计——基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码)——愤怒的小鸟游戏

    基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Java awt+swing的愤怒的小鸟游戏设计与实现,文章末尾附有本毕 ...

  2. 用Python写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  3. 耗时半年,用 Python 写了一个电子考勤系统

    今天给大家分享一个比较有意思的 Python 应用,用 Python 写了一个电子考勤系统,源码获取在下方文章中给出,记得点赞收藏哦- 文章目录 电子考勤完整代码 项目简介 答题要求 附加功能 导入模 ...

  4. 用 Python 写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  5. python股票全套系统_熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的很是甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!可是突然想起年初还有几万块在股市里面 ...

  6. springboot md5加密_实在!基于Springboot和WebScoket,写了一个在线聊天小程序

    基于Springboot和WebScoket写的一个在线聊天小程序 (好几天没有写东西了,也没有去练手了,就看了看这个...) 项目说明 此项目为一个聊天的小demo,采用springboot+web ...

  7. 用Python写了一个上课点名系统(附源码)

    今天刷到了一个这样的短视频,我寻思我是不是也可以写一个类似的上课点名程序,想法经不起等待,说写就写~ 一.准备工作 1.Tkinter Tkinter 是 python 内置的 TK GUI 工具集. ...

  8. python写一个系统-熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的非常甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!但是突然想起年初还有几万块在股市里面 ...

  9. python股票分析系统_熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的非常甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!但是突然想起年初还有几万块在股市里面 ...

最新文章

  1. 网传的 Spring 大漏洞
  2. Elasticsearch1.x 基于lc-pinyin和ik分词实现 中文、拼音、同义词搜索
  3. 《Nginx文件类型错误解析漏洞--攻击演练》 (转)
  4. Kubernetes + .NET Core 的落地实践
  5. servu无法显示远程文件夹_win10软件:解决文件资源管理器无法显示文件夹大小...
  6. MySQL和PostgreSQL在多表连接算法上的差异
  7. OpenGL学习笔记 transform feedback缓存粒子系统示例分析
  8. SparkRDD内核
  9. STC官方软件波特率计算器使用方法
  10. win10 html字体设置,IT之家学院:如何解决Win10屏幕字体缩放模糊问题
  11. js--京东快递单号查询案例
  12. 29个最酷的Firefox About:Config配置参数
  13. Mac Zoc设置
  14. 微信小程序+SpringBoot实现校园快递代收平台
  15. 星星之火-55:什么是微观量子?什么是量子的六大特征?什么是微观量子通信?
  16. 日本动漫作家和其部分作品
  17. ‘A’与”A”的区别
  18. Python如何将一个列表拆分,将多个数据作为一个元素存放到元组中
  19. MIT投入10亿美元,让所有学生都学习AI课程
  20. spring boot 构建docker镜像,运行指定spring profile

热门文章

  1. 2022年全球市场混合筒仓总体规模、主要生产商、主要地区、产品和应用细分研究报告
  2. 每一个数据分析师都要掌握的方法:多维度分析法
  3. Javascript二维码生成器,使用手机扫一扫二维码打开
  4. python爬虫实战,爬虫之路,永无止境
  5. Alibaba Java 2021 技术图谱——学习永无止境
  6. REST接口安全认证方式对比:API Key vs OAuth令牌 vs JWT
  7. 转发--目前开源数据集整理
  8. 博世BOSCH EDI DESADV发货通知详解
  9. Adobe Flash Player安装遇上错误:未能初始化的解决方法
  10. 根据PyTorch学习CONV1D