在简单学习了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. C#中的结构体与类的区别 (转载)

    经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字str ...

  2. 沟通修炼 I型沟通->U型沟通

    沟通的目的 来源:邀请你看<01课 沟通管理:学会U型沟通,沟通效率翻倍>https://url.cn/51YaHrq?sf=uri 案例: 女友太困,不想早起去上班 你的回答? 正确做法 ...

  3. LaTeX自定义宏包、类文件的默认搜索路径设置方法

      对于自定义的LaTeX宏包与类,在调用时可以通过在命令\documentclass{}与\usepackage{}命令中指定完整路径或者相对路径,这样确实可以调用,但是编译时总是有烦人的警告信息, ...

  4. Lua 语言学习

    详细讲解见菜鸟教程 Lua. 一.数据类型 -- 直接输出 print("hello") -- 全局变量 b = print(b) -- nil(空) print(type(a)) ...

  5. Codeforces VK Cup 2018 Div.2

    总题面传送门 这次考试只过了3题,前三题题目难度并不大,但是第三题的代码细节卡了我两个半小时(基本上整场考试),所以以后要合理把握时间,注意把握代码细节,并更加完善我的代码风格,使其更加简练.(赛外话 ...

  6. 使用 lxml 中的 xpath 高效提取文本与标签属性值

    以下代码在 python 3.5 + jupyter notebook 中运行测试无误! # 我们爬取网页的目的,无非是先定位到DOM树的节点,然后取其文本或属性值 myPage = '''<h ...

  7. Atom使用教程

    1.Atom简介 2.安装 官网下载地址:https://atom.io/ 安装目录默认安装在 扩展包的位置 3.推荐扩展包 我的扩展包都是下载好的,直接放在packages文件夹下的 (1)simp ...

  8. Oracle GUID转换为String

    Oracle中guid属于Raw(16)类型, 查询的时候如果不使用下面的函数, 程序中得到的是数组(byte[]). 在extjs环境下, 会带来数组的反序列化问题(newtonsoft.json) ...

  9. PowerDesigner中翻转生成PDM图时把Name属性变成注释(转)

    在pd里面运行下面这段代码'******************************************************************************'* File: ...

  10. 使用request+Beautiful爬取妹子图

    一.request安装 pip install requests request使用示例 import requests response = requests.get('https://www.mz ...