最近工作的事情比较多,很久没有更新博客了。今天为大家继续分享一个界面漂亮、功能完整的日记本、记事本程序的开发与制作 437,目前系统已经完成了功能开发,后续会进一步界面和功能完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步!!
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序MainStart,或者整个程序打包成JAR文件,运行本程序即可以
系统框架
利用JDK自带的SWING框架开发,不需要安装第三方JAR包。纯窗体模式,直接运行Main文件即可以。选中Main.java,点右键 run as application启动相关程序。也客户把程序打包成JAR包,双击JAR即可以启动相关的程序。
程序主要功能
日记本、记事本程序主要功能就是可以把日常的一些记录下来,在需要的时候可以快速查询和检索到位。系统的主要功能包括:
用户注册:(输入用户名和密码信息进行注册、注册的过程需要输入用户名、密码、电话、地址等信息)
用户登录:输入用户名和密码进行验证,验证通过后进入主界面
找回密码:当用户忘记密码的时候,可以快速找回密码信息:
编写日记:写日记的过程中需要输入标题、内容、心情、天气等4个维度的信息,填写完成后,点击保存,即可以在日记查询中查看到自己的日记信息。
查找日记:需要输入标题、内容、日期等几个维度进行快速查找日记信息
主题和背景设置:可以设置整个项目的背景图片,包括:春夏秋冬4个图片,不通图片代表不通的背景图片,用户登录系统后可以进行自主设置
运行效果
1 登录界面
2 注册
3 主界面
3 找回密码
4 发布日记
5 查找日记
6 主题和背景设置
关键代码
public void init() {
userNameField.addFocusListener(new JTextFieldHintListener(userNameField,"用户名6~20个字符"));
GridBagLayout gbLayout = new GridBagLayout();
GridBagConstraints gbCons = new GridBagConstraints();
loginJP.setLayout(gbLayout);
loginJP.setFocusable(false);
gbCons.fill = GridBagConstraints.BOTH;
gbCons.insets = new Insets(20, 20, 10, 5);
gbCons.weightx = 0;
gbCons.weighty = 0;
gbCons.gridx = 0;
gbCons.gridy = 0;
gbCons.gridwidth = 1;
gbCons.gridheight = 1;
loginJP.add(new JLabel("用户名:"),gbCons);
Box nameBox = Box.createHorizontalBox();
gbCons.insets = new Insets(20, 5, 10, 5);
userNameField.setOpaque(false);
nameBox.add(userNameField);
gbCons.weightx = 1;
gbCons.gridx = 1;
loginJP.add(nameBox, gbCons);
gbCons.insets = new Insets(20, 5, 10, 20);
gbCons.weightx = 0;
gbCons.gridx = 2;
gbCons.gridy = 0;
signUpBn.setContentAreaFilled(false);
signUpBn.setForeground(Theme.getMainColor());
loginJP.add(signUpBn, gbCons);
gbCons.insets = new Insets(10, 20, 10, 5);
gbCons.gridx = 0;
gbCons.gridy = 1;
loginJP.add(new JLabel("密 码:"),gbCons);
Box pwdBox = Box.createHorizontalBox();
gbCons.insets = new Insets(10, 5, 10, 5);
passwordField.setOpaque(false);
pwdBox.add(passwordField);
gbCons.weightx = 1;
gbCons.gridx = 1;
gbCons.gridy = 1;
loginJP.add(pwdBox, gbCons);
gbCons.insets = new Insets(10, 5, 10, 20);
gbCons.weightx = 0;
gbCons.gridx = 2;
gbCons.gridy = 1;
findBn.setContentAreaFilled(false);
findBn.setForeground(Theme.getMainColor());
loginJP.add(findBn, gbCons);
gbCons.insets = new Insets(10, 5, 0, 5);
gbCons.weightx = 0;
gbCons.weighty = 0;
gbCons.gridx = 1;
gbCons.gridy = 2;
loginBn.setBackground(Theme.getMainColor());
loginBn.setForeground(Color.white);
loginJP.add(loginBn, gbCons);
userNameField.addMouseListener(new MouseFieldListener());
passwordField.addMouseListener(new MouseFieldListener());
}
项目总结
(1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。
(2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。
(3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。
(4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性
(5)养成创建包来存放不同功能的类,使系统的结构更加模块化和规范化。
(6)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。