网站首页 > java教程 正文
这篇文章主要是分享一个javase基础练手的java小项目——图书管理系统
可以让学完Java基础的同学对之前掌握的知识做一些运用巩固,也是检验自己的学习成果,知识点包括下面内容:

- 面向对象的思想
 - 分层的思想
 - 接口
 - 异常
 - 集合
 - 日期处理
 - Stream流
 - IO流
 - 反射
 - Javafx(了解)
 - css(了解)
 
这个项目可以巩固JavaSE的知识,对于后续的学习来说可以起到很好的衔接。
在线学习
https://www.bilibili.com/video/BV1tV411J77q
代码解析
代码概览
- bean:存放实体类的包
 - global:存放了一些全局使用的类
 - media.img:存放一些图片
 - module:存放界面相关的类
 - service:存放服务相关类
 - theme:存放美化界面相关的文件
 - App:主类
 
登录功能
在项目启动时,会加载所有界面对应的fxml文件,然后将这些对象放入到map中,此map由ViewManager类进行管理。
用户登录后,会根据输入的用户名从properties文件中查找数据,如果查询出来的数据跟用户输入的用户名和密码匹配的话,则登录成功,跳转至main页面中。
fxml文件
每个界面都对应了一个fxml文件,fxml文件中的内容可以控制界面的展示效果。该文件中的标签都是成对出现的,比如:
<StackPane></StackPane>
有部分标签可以写成下面形式:
<button />
一个标签中可以包含其他标签,例如:
<StackPane> <padding> </StackPane>  | 
但是绝对不能出现下面这种形式(你中有我,我中有你):
<StackPane> <padding> </StackPane> </padding>  | 
上面写法会有问题。
绑定控制器
每个fxml文件都有一个对应的java文件相关联,这样的java文件叫做控制器,我们可以通过fxml文件中的最外层标签里面的fx:controller标签进行绑定:
fx:controller="com.bjpowernode.module.login.Login"  | 
事件
用户在操作界面的时候会产生一些行为,比如点击一个按钮,这就是一个点击时间,我们可以通过button标签中的onAction属性与控制器对应的方法进行绑定:
<button onAction=”#login”>  | 
输入框
<TextField /> :我们可以在输入框中看到自己输入的内容
<PasswordField />:我们不能在输入框中看到自己输入的内容
通过输入框中的fx:id与控制器中的属性进行管理,例如:
fxml文件的标签:
<TextField fx:id="username" />  | 
控制器文件的属性:
@FXML private TextField username;  | 
猜你喜欢
- 2024-10-25 Oracle发布了Java SE支持路线图,Java 8 支持到2030年
 - 2024-10-25 JavaSE_day01_基础知识(day6成员资料)
 - 2024-10-25 JavaSE基础-面向对象-[封装、继承、多态]
 - 2024-10-25 29_数据类型_常量_字面常量 1,JavaSE【马士兵说】2
 - 2024-10-25 零基础学JavaSE,原来只需要明白这一个点
 - 2024-10-25 Java高级工程师必会知识之JavaSE(上)
 - 2024-10-25 从零开始学编程/0基础入门学习javaSE
 - 2024-10-25 04_小鲨鱼记账系统_登记收入 1,JavaSE【马士兵说】 2
 - 2024-10-25 Java SE 9 多版本兼容 JAR 包示例
 - 2024-10-25 JavaSE——装饰流(java 装饰)
 
欢迎 你 发表评论:
- 最近发表
 
- 标签列表
 - 
- java反编译工具 (77)
 - java反射 (57)
 - java接口 (61)
 - java随机数 (63)
 - java7下载 (59)
 - java数据结构 (61)
 - java 三目运算符 (65)
 - java对象转map (63)
 - Java继承 (69)
 - java字符串替换 (60)
 - 快速排序java (59)
 - java并发编程 (58)
 - java api文档 (60)
 - centos安装java (57)
 - java调用webservice接口 (61)
 - java深拷贝 (61)
 - 工厂模式java (59)
 - java代理模式 (59)
 - java.lang (57)
 - java连接mysql数据库 (67)
 - java重载 (68)
 - java 循环语句 (66)
 - java反序列化 (58)
 - java时间函数 (60)
 - java是值传递还是引用传递 (62)
 
 

本文暂时没有评论,来添加一个吧(●'◡'●)