mysql 餐饮管理系统_Java Mysql 餐饮管理系统 过程心得记录
------------------------------------------Have a Good Day~----------------------------------
准备国赛和ACM省赛
随缘更新
本次的主要目的想用JAVA写一个类似于饭店自动点餐的程序,分为三个主要用户:客人,员工,经理
同时利用MySQL对餐厅的营业额,食材剩余量,员工开销进行实时维护
饼越画越大,感觉再补充点东西当毕业设计也可以= =
2019.3.25
第一天代码已全部重写
主窗口布局改为NULL布局
主要窗口转换思想保留
Customer窗口全部重写
窗口的初步搭建
涉及:
JFrame 窗口
JPanel 面板组件 (暂时不知道具体咋实现的 日后搞懂再补充)
不同窗口的转换 (暂时不知道咋关 这就很尴尬)
JFrame 窗口搭建
Toolkit kit=Toolkit.getDefaultToolkit();//获取当前屏幕的大小
Dimension screenSize=kit.getScreenSize();int screenHight=screenSize.height;int screenWight=screenSize.width;//窗口大小
setSize(screenWight/2,screenHight/2);
setLocationByPlatform(true);//窗口位置
setLocation(550,150);
icon 小图标的获取
//获取图标
Image img=new ImageIcon("F:\\Java_program\\Catering_management_system\\src\\catering_Management\\bin\\icon.png").getImage();
setIconImage(img);
background 背景设置
//背景图片设置
public voidpaint(Graphics g)
{
File file= new File("F:\\Java_program\\Catering_management_system\\src\\catering_Management\\bin\\background.png");
//异常处理~try{
BufferedImage image=ImageIO.read(file);
g.drawImage(image,0,0,null);
}catch(Exception e)
{
e.printStackTrace();
}
}
然后是最主要的
窗口转换
//顾客按键 进入顾客界面
JButton customerButton= new JButton("Customer");//等一手 lambda语句简化~~~~
customerButton.addActionListener(newActionListener()
{public voidactionPerformed(ActionEvent e)
{//创建一个顾客窗口
Customer customerWindow = newCustomer();
customerWindow.setTitle("Welcome~");
customerWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
customerWindow.setVisible(true);//当前窗口关闭
}
}
);
我觉得可以lambda简化~~~
我觉得是这么实现的:
首先 JButton 一个按键
然后对这个按键有一个 ActionListener 事件响应
对应的事件为创建一个 Customer 对象
Customer实际上也继承了 JFrame 也是一个窗口类
然后创建Customer对象就等于创建了一个新的窗口
再将当前窗口关闭即可~
今天全部代码
今天的训练赛没打..........
博弈论我是真的不会啊T T
2019.3.26
lambda语句实现
窗口关闭实现
重写了Customer类 T T
3.27对Customer类再次重写
我求求你别再出BUG了
T T
lambda 语句实现:
customerButton.addActionListener(e->{//创建一个顾客窗口
Customer customerWindow = newCustomer();
customerWindow.setTitle("Welcome~");
customerWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
customerWindow.setVisible(true);//当前窗口关闭
closeThis();
});
具体lamda 语句以后补充
现在只知道当一个类只有一种方法需要实现时,不需要新建对象,直接lamda实现就好
然后窗口关闭:
/** 窗口关闭 调用父类方法写在本身的方法中直接调用
* 在点击Button 触发的 ActionListener 中 创建的是其他类
* 无法直接调用JFrame 中关闭窗口的方法*/
public voidcloseThis()
{super.dispose();
}
定义这个函数的原因是
在CustomerButton 中继承的是ActionListener 无法调用dispose方法
只能新建一种方法实现父类的 dispose
然后在
CustomerButton.addActionListener中直接调用这个方法
因为是在一个类中
所以语法是合法的
重头戏:
别看了 GG了
Customer 类 3.27 已重写
原因请看 3.27
废了我一下午+一晚上重写Customer 类:
原因是当你重载JFrame的paint方法时
你在添加组件是会出现背景加载失败的情况
这样有一个问题
就是必须创建一个ImagePanel对象
也可能是我忘了JAVA的一些特性
我总感觉不用创建对象也可以
以后补充
这样我在选择窗口使用的null布局就不能使用了
2019.3.27
主要问题
重写了Customer类
实现了文本框的显示
重写Customer:
在实现文本框透明化后
所有的文字会被背景遮挡
解决方案 ImagePanel类不再继承Panle 类
改为继承JPanle类
然后重载 JPanle类中的PaintComponent方法
实现对组件背景的绘制
2.26提到的 为什么new ImagePanel 并且重载 PaintComponent
是因为我们要在内容窗格上进行各种组件的添加
而new ImagePanel等于创建了一个和JFrame窗口等大的内容窗格并对JFame窗口覆盖
所以要对JPanle 中的PaintComponent方法重载 来获取内容窗格的背景
2019.4.1
简化了Customer的代码
添加了选择框和提示文本
近期准备国赛和省赛
精力不够
随缘更新吧
2019.4.26更新
最近遇到的问题汇总一下
JAVA&Mysql连接问题
//URL指向要访问的数据库名
url="jdbc:mysql://localhost:3306/cateringsystem?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
URL要这么写,涉及到很多修正问题啥的
咱也不懂,咱也不敢问
//数据库连接参数
Connection con;
String driver;
String url;
String user;
String password;
//创建statement对象,执行SQL语句
Statement satement,addsatement;
//创建PreparedStatement对象,执行插入语句
PreparedStatement prsq;
//要执行的SQL语句
String dql,dml;
//ResultSet类,用来存放获取的结果集
ResultSet rs;
用到的基本参数
还有一个问题
rs= satement.executeQuery(dql);
一个statement 对象可以对应多个resultset对象
不过对其中一个resultset进行操作的时候 其他的都是关闭的
也就是不能同时对同一个statement的resultset对象操作
我的解决办法是创捷多个statement对象
稳得一匹~
然后就是一个类创建队对象数组的时候
比如这样
private JLabel[] line = new JLabel[20];
好像是只声明了空间
如果操作的话会出现
空指针异常
Exception in thread "AWT-EventQueue-0"
所以还要
line[index] = new JLabel();
大体的主框架已经差不多了
感觉5.1左右差不多能肝出来
美化啥的咱也不敢想
-----------------------------未完待续-----------------------------------------------
mysql 餐饮管理系统_Java Mysql 餐饮管理系统 过程心得记录相关推荐
- Java影院网上购票管理系统_java影院售票管理系统
一个完善的电影院售票管理系统,可以帮助电影院工作人员提升工作效率, 辅助电影院工... 电影院售票管理系统UML_计算机软件及应用_IT/计算机_专业资料.业务需求 1... Jsp 影院售票系统的架 ...
- java物流管理系统_java web物流管理系统
项目描述 简单的物流管理系统,具备简单的增删查改,适合初学者操作 运行环境 jdk7+tomcat8+mysql+IntelliJ IDEA+maven 项目技术(必填) jquery+jscript ...
- java 管理系统_java角色登录管理系统
每天记录学习,每天会有好心情.*^_^* 今日思考,完成一个基于web的java角色登录管理系统项目,需要实现哪些功能? 程序员在开发时不要过多的考虑程序安全性的问题只需要遵系统的安全准则即可,而是把 ...
- java编写学生管理系统_Java实现学生管理系统
导读热词 项目描述:通过管理员帐号登录,对学员信息进行管理.可以实现学员信息的增加.修改.删除.查询. 知识点:数组.do{}while循环.for循环.if语句.switch条件语句 学生管理系统的 ...
- java编写通信录管理系统_Java 实现通讯录管理系统教程
本文实例为大家分享了java实现通讯录管理系统的具体代码,供大家参考,具体内容如下 完成项目的流程: 1.根据需求,确定大体方向 2.功能模块分析 3.界面实现 4.功能模块设计 5.coding 6 ...
- java酒店信息管理系统_java实现酒店管理系统
本文实例为大家分享了java实现酒店管理系统的具体代码,供大家参考,具体内容如下 要求: [酒店管理系统]HotelSystem.java 某酒店有12层楼,每层楼有10个房间(二维数组),要求为该酒 ...
- mysql 表情符_java+mysql对于表情符的处理
出错环境: mysql 5.0:utf8编码 jdbc:mysql-connector-java-5.1.5-bin.jar 在有表情符的情况下报错: java.sql.SQLException: I ...
- java 教师工资管理系统_java教师工资管理系统完整代码.doc
教师工资管理系统: 开发团队:206和207 时间:2012年4月8日 数据库配置:sqlserver2000 创建数据库SalaryManagement 在其下创建数据表logindata. 创建数 ...
- 北大青鸟java超市账单管理系统_java超市账单管理系统.pdf
java超市账单管理系统 Java 北大青鸟 (天津)第二单元超市账单管理系统 项目整体: 项目dao 包: 项目entity 包: 项目filter 包: 项目servlet 包: 项目test 包 ...
最新文章
- IPython 更改默认字体大小
- 企业网络推广——企业网络推广表示网站优化少不了这三大技能
- MySQL慢查询(一) - 开启慢查询
- [线段树] Jzoj P1214 项链工厂
- 设置跳转到新的actvity之后不可返回
- 第七章 进程环境 | 001 命令形参、gcc与g++的使用
- Python MySQL删除表
- teamviwer安装提示 Verification of your Teamviewer version failed!.
- RSA3:预提取数据
- OpenCV-PS扩散效果(毛玻璃)
- java restful返回json_java 调用接口的时候报的错 用的是restful的post方式,请求返回的是json...
- javascript语言
- C# 基础(十八)C# 工程自动生成app.manifest、AssemblyInfo.cs、Resources.Designer.cs、Settings.Designer.cs文件的作用
- 伽马校正(Gamma Correction)与sRGB
- 函数信号发生器的设计与实现_北邮大二上电子电路基础实验报告
- 埃航坠机事件调查结果公布时间!
- SLAM中边缘化与一致性
- 关于Boost电感的问题
- android逻辑分辨率,手机ui设计dpi如何把握,看这3个平台各自的画布设置情况
- java算法:逻辑回归和线性回归
热门文章
- STM32-定时器输入捕获实验(捕获PWM方波的频率和占空比)
- ping 延迟 linux,使用ping命令查看网络延迟--用Enki学Linux系列(7)
- 计算机类国企门槛,大学生想进“国家电网”,3个条件缺一不可,少一个将与国企无缘...
- 常见的几种手机操作系统
- Elasticsearch:创建属于自己的 Ingest processor
- 解决微信登录Emoji表情昵称乱码问题
- 如何快速提高视唱练耳能力
- 量子计算(一):量子计算是什么
- Nginx通俗易懂教程
- 时间晶体,一种曾被认为是无法存在的物质,被创造出来了吗?