基于GUI的AWT,Swing写的一个餐厅点菜系统
废话不多说,直接上代码,功能很简单,代码也很简单。
可能比较复杂的地方就是使用了绝对定位布局管理器。
需要空间想象力比较好!
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写的一个餐厅点菜系统相关推荐
- java毕业设计——基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码)——愤怒的小鸟游戏
基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Java awt+swing的愤怒的小鸟游戏设计与实现,文章末尾附有本毕 ...
- 用Python写了一个电子考勤系统!
今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...
- 耗时半年,用 Python 写了一个电子考勤系统
今天给大家分享一个比较有意思的 Python 应用,用 Python 写了一个电子考勤系统,源码获取在下方文章中给出,记得点赞收藏哦- 文章目录 电子考勤完整代码 项目简介 答题要求 附加功能 导入模 ...
- 用 Python 写了一个电子考勤系统!
今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...
- python股票全套系统_熬了一晚上,小白用Python写了一个股票提醒系统
码农小马七夕节去相亲了,见了一个不错的姑娘,长的很是甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!可是突然想起年初还有几万块在股市里面 ...
- springboot md5加密_实在!基于Springboot和WebScoket,写了一个在线聊天小程序
基于Springboot和WebScoket写的一个在线聊天小程序 (好几天没有写东西了,也没有去练手了,就看了看这个...) 项目说明 此项目为一个聊天的小demo,采用springboot+web ...
- 用Python写了一个上课点名系统(附源码)
今天刷到了一个这样的短视频,我寻思我是不是也可以写一个类似的上课点名程序,想法经不起等待,说写就写~ 一.准备工作 1.Tkinter Tkinter 是 python 内置的 TK GUI 工具集. ...
- python写一个系统-熬了一晚上,小白用Python写了一个股票提醒系统
码农小马七夕节去相亲了,见了一个不错的姑娘,长的非常甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!但是突然想起年初还有几万块在股市里面 ...
- python股票分析系统_熬了一晚上,小白用Python写了一个股票提醒系统
码农小马七夕节去相亲了,见了一个不错的姑娘,长的非常甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!但是突然想起年初还有几万块在股市里面 ...
最新文章
- 网传的 Spring 大漏洞
- Elasticsearch1.x 基于lc-pinyin和ik分词实现 中文、拼音、同义词搜索
- 《Nginx文件类型错误解析漏洞--攻击演练》 (转)
- Kubernetes + .NET Core 的落地实践
- servu无法显示远程文件夹_win10软件:解决文件资源管理器无法显示文件夹大小...
- MySQL和PostgreSQL在多表连接算法上的差异
- OpenGL学习笔记 transform feedback缓存粒子系统示例分析
- SparkRDD内核
- STC官方软件波特率计算器使用方法
- win10 html字体设置,IT之家学院:如何解决Win10屏幕字体缩放模糊问题
- js--京东快递单号查询案例
- 29个最酷的Firefox About:Config配置参数
- Mac Zoc设置
- 微信小程序+SpringBoot实现校园快递代收平台
- 星星之火-55:什么是微观量子?什么是量子的六大特征?什么是微观量子通信?
- 日本动漫作家和其部分作品
- ‘A’与”A”的区别
- Python如何将一个列表拆分,将多个数据作为一个元素存放到元组中
- MIT投入10亿美元,让所有学生都学习AI课程
- spring boot 构建docker镜像,运行指定spring profile