在简单学习了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++动态绑定”相关问题探讨

    一.相关问题: 1. 基类.派生类的构造和析构顺序 2. 基类.派生类中virtual的取舍 二.测试代码: #include <iostream> class A { public: A ...

  2. Mysql5.7登录错误1045和1130的解决方法,亲测有用,希望能帮助到你们。

    Mysql (针对Mysql5.7版本,其他版本可能略有不同) 错误:1045 解决方法: 以管理员身份运行cmd(win8系统:win+x 键 ,再按 A键 ),进入Mysql安装目录下的bin目录 ...

  3. HDFS源码文件过大,IDEA打开失败解决方法

    问题现象:hadoop 3.1.0源码文件ClientNamenodeProtocolProtos大小4M+,IDEA打开时加载失败,ClientNamenodeProtocolPB报错找不到类. - ...

  4. iOS 开发之UIStackView的应用

    ————————————————UIStackView的应用———————————————— 一:先讲下优势: 对于排布列表式控件的布局需求,用UIStackView控件,开发中为我们省去了繁琐的代码 ...

  5. lua函数定义

    FuncState proto结构数组保存函数原型信息;prev保存父函数体指针:actvar保存定义的局部变量:upvalues保存upvalue Lua源码中,专门有一个结构体FuncState用 ...

  6. UWP Read write File -StorageFile

    // private void MainPage_Loaded(object sender, RoutedEventArgs e) { GetFileAsync(); } public async v ...

  7. Oracle 安装过程中 File not found "WFMLRSVCApp.ear" 的原因

    主要有两种原因: 1 只解压缩了第一个zip文件. 2 两个zip 文件解压缩到了两个不同的目录里.

  8. oracle中查找锁定状态的用户

    SQL> desc dba_users;desc dba_users; 名前 NULL? 型 ----------------------------------------- -------- ...

  9. BZOJ4543 Hotel加强版

    题面 $\text{BZOJ}$间接权限题 洛谷的弱化版 题解 三点距离两两相等要满足以下条件: 有一个相同的$\text{LCA}$ 所以如果存在一个点,使得另外两个点在它子树中,距离为$d$,且$ ...

  10. Asp.net中使用缓存(cache)

    做了一个时间优化的项目,目的就是缩短程序过程中的时间花费,最后发现了asp.net和asp.net core 中都有缓存工具来进行缓存,以加快访问速度. 找了官方demo来进行分析: ObjectCa ...