在简单学习了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的更多相关文章

  1. Java秒杀系统实战系列~整体业务流程介绍与数据库设计

    摘要: 本篇博文是“Java秒杀系统实战系列文章”的第三篇,本篇博文将主要介绍秒杀系统的整体业务流程,并根据相应的业务流程进行数据库设计,最终采用Mybatis逆向工程生成相应的实体类Entity.操 ...

  2. Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”! ...

  3. Java秒杀系统实战系列~商品秒杀代码实战

    摘要: 本篇博文是“Java秒杀系统实战系列文章”的第六篇,本篇博文我们将进入整个秒杀系统核心功能模块的代码开发,即“商品秒杀”功能模块的代码实战. 内容: “商品秒杀”功能模块是建立在“商品详情”功 ...

  4. Java互联网架构-Mysql分库分表订单生成系统实战分析

    概述 分库分表的必要性 首先我们来了解一下为什么要做分库分表.在我们的业务(web应用)中,关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量.连接数.处理能力等都很有限,数据库本身的“有状态性” ...

  5. Java日志实战及解析

    Java日志实战及解析 日志是程序员必须掌握的基础技能之一,如果您写的软件没有日志,可以说你没有成为一个真正意义上的程序员. 为什么要记日志? •       监控代码 •       变量变化情况, ...

  6. Gerrit代码审计系统实战-Gerrit 2.15.14版本快速搭建

    Gerrit代码审计系统实战-Gerrit 2.15.14版本快速搭建  作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Gerrit版本选择 1>.查看Gerrit官网 ...

  7. 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API

    https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...

  8. Linux系统实战项目——sudo日志审计

    Linux系统实战项目——sudo日志审计   由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维.开发等各个人员技术水平.操作习惯都不相同,也会因一时失误造成误操作,从而 ...

  9. selenium2 Webdriver + Java 自动化测试实战和完全教程

    selenium2 Webdriver + Java 自动化测试实战和完全教程一.快速开始 博客分类: Selenium-webdriverselenium webdriver 学习selenium ...

  10. 获取Java系统相关信息

    package com.test; import java.util.Properties; import java.util.Map.Entry; import org.junit.Test; pu ...

随机推荐

  1. beta冲刺后续讨论

    目录 组员:胡绪佩 组员:何家伟 组员:黄鸿杰 组员: 翟丹丹 组员:周政演 组员:胡青元 组员:庄卉 组员:刘恺琳 组员:何宇恒 组员:刘一好 组员:葛家灿 组员:胡绪佩 总结 通过这次的Beta版 ...

  2. 很清晰的解读i2c协议

    很清晰的解读i2c协议 转载:http://dpinglee.blog.163.com/blog/static/14409775320112239374615/ 1.I2C协议 2条双向串行线,一条数 ...

  3. YUV420图像旋转90算法的优化

    在做android摄像头捕获时,发现从android摄像头出来的原始视是逆时针旋转了90度的,所以须要把它顺时针旋转90.android视频支持的是NV21格式,它是一种YUV420的格式.当然,始果 ...

  4. EatWhat 实用的APP

    EatWhat最近比较闲开始学习煮粥,买了好多米和豆子,每天煮的都不一样,试了几天发现有的时候记不住要煮什么粥,所以就写了这个APP.每天煮粥的时候拿出来看看就可以了,再也不用思考半天要煮什么粥了. ...

  5. 《Arduino 机器人制作指南》唐乐 分享 pdf下载

    链接:https://pan.baidu.com/s/1cF7gaQoJXwfY0asnsimFrQ提取码:stq1

  6. Angular vs. React - the tie breaker

    https://www.airpair.com/angularjs/posts/angular-vs-react-the-tie-breaker

  7. gabor变换人脸识别的python实现,att_faces数据集平均识别率99%

    大家都说gabor做人脸识别是传统方法中效果最好的,这几天就折腾实现了下,网上的python实现实在太少,github上的某个版本还误导了我好几天,后来采用将C++代码封装成dll供python调用的 ...

  8. R实战:grid包

    grid包是一个底层的绘图系统,能够灵活地控制图形输出的外观和布局,但是grid包不提供创建完整图形的高级绘图系统,例如,ggplot2和lattice,而是提供绘制开发这些高级绘图的基础接口,例如: ...

  9. [原]Asp.net Core 2.1.2 测试成功Ajax上传文件新解法

    利用layui框架可以上传文件调试拦截成功! [HttpPost] public IActionResult Method1(IFormFile file) { return Json(new{suc ...

  10. 【日常训练】 Help Greg the Dwarf(CodeForces-99E)

    题意与分析 题意是这样的,问你把一个长方形从一个L型街道的一端移动到另一端,固定了该长方形的长,求他的最大宽. 这种问题我是第一次独立解决(以前都是抱队友大腿QAQ),现在没法子只好自己硬着头皮做,看 ...