项目简介
动力节点老师讲解的图书馆管理小项目,主要目的是让学完JavaSE的同学对之前掌握的知识做一些运用,该项目应用的知识点包括下面内容:
- 面向对象的思想
- 分层的思想
- 接口
- 异常
- 集合
- 日期处理
- Stream流
- IO流
- 反射
- Javafx(了解)
- css(了解)
通过学习本项目,可以巩固JavaSE的知识,对于后续的学习来说可以起到很好的衔接。
环境搭建
1.基本信息
- 开发工具:IDEA
- JDK版本:8
- 项目编码:GBK
2.使用技术
除了javase相关知识点外,该项目还使用了一些第三方的技术,包括:
l Jfoenix:提供了更加美观的UI控件
l Dashboardfx:将一些美观的UI控件组合起来使用,构建出了一个仪表盘
3.项目导入
因为实际应用中对javafx的使用很少,所以这部分的内容就不带着写了,了解即可。界面大部分代码已经写好,只需要将nodelibrary.zip文件解压导入到项目中即可。
4.关联第三方jar包
由于项目中使用了一些第三方的技术,所以需要将这些技术相关的jar包导入到项目来使用。
实际应用的时候,我们会使用很多第三方技术,这些第三方技术的开发者会将代码打成jar包以供使用。
代码解析
1.代码概览
- bean:存放实体类的包
- global:存放了一些全局使用的类
- media.img:存放一些图片
- module:存放界面相关的类
- service:存放服务相关类
- theme:存放美化界面相关的文件
- App:主类
2.登录功能
在项目启动时,会加载所有界面对应的fxml文件,然后将这些对象放入到map中,此map由ViewManager类进行管理。
用户登录后,会根据输入的用户名从properties文件中查找数据,如果查询出来的数据跟用户输入的用户名和密码匹配的话,则登录成功,跳转至main页面中。
3.fxml文件
每个界面都对应了一个fxml文件,fxml文件中的内容可以控制界面的展示效果。该文件中的标签都是成对出现的,比如:
<StackPane></StackPane>
有部分标签可以写成下面形式:
<button />
一个标签中可以包含其他标签,例如:
<StackPane> <padding> </padding>