java(系统)实战1
在简单学习了java的布局和一些界面的绘制方法后,我便开始有了跟着视频和书本的知识学做一个简单的餐饮系统,才能激发自己的编程和不断巩固知识。
我简单说明一下本次做的系统很普通但具有实用性,是通过java开发的针对外面的酒店或餐饮行业的系统,所以需求的客户是很多的,因为在身边的各种餐馆是很多的。利用这样的一个软件,软件是c/s结构,那么可以对餐饮店内的人事管理、菜品管理、成本利润控制、点菜订购管理、客服服务、结账等。那么完成的工作量还是巨大的,但是也是开发的必备。
在一周的学习和完善后,简单的完善了登录界面+初始菜单界面一部分,但是已经发现了很多问题。以下我就把我遇到的问题和解决思路讲一讲:
1.布局的选择
在做整个布局的选择时我们通常在基础的的一些程序上进行衍生就能很快知道我们的布局进行什么样的选择更加的适合。所以做一些简单的Demo是非常必要的,如同我们已经知道了车的模型,但是需要用什么样的架子或者材料才能完成,所以我写过的几大布局很有用。
下面是我采用的Jwindow做的登录前的界面(而设置方法已经写在我的布局中了),选用Jwindow可以得到一个没有外框感觉十分原始的窗体,这样的话接近平时我们使用的软件窗体。


2.线程的使用
这块我知识比较空缺所以也没写,简单的写了个等待函数,其实真是的界面应该有滚动效果,这样才能有用户等待的体验效果。但是我发现一件我已经忘却很久的事,如果想让图片动起来的话,可以选择动图进行处理,因为ps这样神奇的工具已经完全可以做出这样将需要动态展现的效果展示出来。所以就暂时不用线程偷个懒吧。但是仍然需要线程来控制时间,才能有GIF图的效果。
3.对整个布局的把握(Panel的运用是重点)
本次主界面采用5个panel,同时也在其中加入许多布局,(在选用效果同时需要设置各种布局的来使控件在合适的位置)。
下面是老师的布局设计(引用)

4.学会设置字体
考虑到全局的效果,在许多控件上有许多地方需要设置字体,但是每次都要调用方法设置字体明显很麻烦,想想网页上常用的CSS所以另写工具类然后调用工具类,对字体进行设置,而且同时最好设置为final属性。

5.学会设计自适应的panel
考虑的问题:
每次实现的的panel需要加载一些图片但是图片需要跟随panel的大小变化的话,就考虑写一个能判断容器大小的panel,在设置布局然后就可以制指定任意位置了。(转换考虑为工具类)
效果


问题(为什么还是暂居南面最少的一块):我觉得还是和布局有关吧。
已完成:已经完成状态栏和工具栏,下一步继续完成整体布局。
日进一小步,月过一大步~~加油!!!
java(系统)实战1的更多相关文章
- Java秒杀系统实战系列~整体业务流程介绍与数据库设计
摘要: 本篇博文是“Java秒杀系统实战系列文章”的第三篇,本篇博文将主要介绍秒杀系统的整体业务流程,并根据相应的业务流程进行数据库设计,最终采用Mybatis逆向工程生成相应的实体类Entity.操 ...
- Java秒杀系统实战系列~构建SpringBoot多模块项目
摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”! ...
- Java秒杀系统实战系列~商品秒杀代码实战
摘要: 本篇博文是“Java秒杀系统实战系列文章”的第六篇,本篇博文我们将进入整个秒杀系统核心功能模块的代码开发,即“商品秒杀”功能模块的代码实战. 内容: “商品秒杀”功能模块是建立在“商品详情”功 ...
- Java互联网架构-Mysql分库分表订单生成系统实战分析
概述 分库分表的必要性 首先我们来了解一下为什么要做分库分表.在我们的业务(web应用)中,关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量.连接数.处理能力等都很有限,数据库本身的“有状态性” ...
- Java日志实战及解析
Java日志实战及解析 日志是程序员必须掌握的基础技能之一,如果您写的软件没有日志,可以说你没有成为一个真正意义上的程序员. 为什么要记日志? • 监控代码 • 变量变化情况, ...
- Gerrit代码审计系统实战-Gerrit 2.15.14版本快速搭建
Gerrit代码审计系统实战-Gerrit 2.15.14版本快速搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Gerrit版本选择 1>.查看Gerrit官网 ...
- 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API
https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...
- Linux系统实战项目——sudo日志审计
Linux系统实战项目——sudo日志审计 由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维.开发等各个人员技术水平.操作习惯都不相同,也会因一时失误造成误操作,从而 ...
- selenium2 Webdriver + Java 自动化测试实战和完全教程
selenium2 Webdriver + Java 自动化测试实战和完全教程一.快速开始 博客分类: Selenium-webdriverselenium webdriver 学习selenium ...
- 获取Java系统相关信息
package com.test; import java.util.Properties; import java.util.Map.Entry; import org.junit.Test; pu ...
随机推荐
- C++标准转换运算符dynamic_cast
dynamic_cast <new_type> (expression) dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的 ...
- springboot activiti 整合项目框架源码 shiro 安全框架 druid windows10风格
官网:www.fhadmin.org 此项目为Springboot工作流版本 windows 风格,浏览器访问操作使用,非桌面应用程序. 1.代码生成器: [正反双向](单表.主表.明细表.树形表 ...
- 如何向女朋友解释int==Integer为true
原:https://juejin.im/post/5c7f3cb25188251b883cada2 int==Integer为什么返回true 先看现象吧 执行下面的代码及输出结果: int a = ...
- hisi3559的usb无线网卡驱动(rtl8192cu)(一条龙服务:内核编译、驱动编译、iw等工具编译)
usb无线网卡驱动(rtl8192cu) 内核编译.驱动编译.iw等工具编译 (哈哈,如果有其他问题,麻烦留言:) 环境 板卡:hi3559av100(arm64) 交叉编译链:aarch64-hi ...
- Web安全0002 - SQL注入 - 注入流程
注:本文是学习网易Web安全进阶课的笔记,特此声明. 一.信息搜集 — 数据库类型 - 报错信息.特有语句— 数据库版本(@@version,$version)— 数据库用户— 判断数据库权限 二.数 ...
- Noip前的大抱佛脚----动态规划
目录 动态规划 序列DP 背包问题 状态压缩以及拆分数 期望概率DP 马尔可夫过程 一类生成树计数问题 平方计数 动态规划 序列DP 有些问题: 求长度为\(l\)的上升子序列个数 形如一个值域的前缀 ...
- 【HNOI2013】消毒
题面 题解 当只有二维时,就是一个二分图匹配的板子题 三维的时候就很好做了,暴力枚举一维的情况,因为\(\min(x,y,z) = \sqrt{5000} < 18\),于是时间复杂度有保证 代 ...
- 2734: [HNOI2012]集合选数
2734: [HNOI2012]集合选数 链接 分析: 转化一下题意. 1 3 9 27... 2 6 18 54... 4 12 36 108... 8 24 72 216... ... 写成这样的 ...
- js.ajax优缺点,工作流程
1.ajax的优点 Ajax的给我们带来的好处大家基本上都深有体会,在这里我只简单的讲几点: 1.最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好. 2.使用异步方式与服务器通信,不 ...
- Struts 2 访问Servlet API的方式
与Servlet API解耦的访问方式 与Servlet API耦合的访问方式 (tips:耦合既依赖) 1. 与Servlet API解耦的访问方式 2. 与Servlet API耦合 ...