Java 编写的窗体日记本、记事本程序,界面漂亮、完整代码

  最近工作的事情比较多,很久没有更新博客了。今天为大家继续分享一个界面漂亮、功能完整的日记本、记事本程序的开发与制作 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)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。

猜你喜欢

转载自blog.csdn.net/bangxiecode/article/details/131385568