基于java语言的windows记事本的设计

2017-05-30 05:12任琴刘毅孔令慧
科技风 2017年11期

任琴 刘毅 孔令慧

摘要:现在网络上各种文档编辑器数不胜数,功能也是应有尽有,根据这种现状,本次课程设计的题目是运用java语言实现记事本程序,使其具有简单的文字编辑功能,如:“新建”、“打开”、“保存”、“退出”、“剪切”、“复制”、“粘贴”和“帮助”等基本功能,以及设置字体等拓展功能。满足用户对文件的处理,文本文档的编辑和字体的设置等要求。

关键词:记事本程序;Java;文本编辑器

记事本是日常生活中常用到的工具,现在随着计算机科学日渐成熟,其强大的功能已经为人们深刻认识,它已经入人类社会的各个领域并发挥着越来越重要的作用,当然对文本编辑操作仍然占据着重要地位,记事本是简单便捷的文本编辑器,可实现对文本编辑操作的基本功能以满人人们的日常需求。

本程序设计主要分为两大部分:简单的GUI设计和程序功能设计。通过GUI设计实现图形用户界面,提供图形菜单,方便用户操作,同时记事本的界面参考了Windows中的记事本界面。然后使用Java语言实现合理的布局,并且能够对输入文字的操作,对文档内容的编辑操作,以及能够顺利退出等功能。

本文将通过以下几个方面简单介绍。

一、记事本功能介绍

记事本是一个相对比较简单的内容,通过编写程序使其具有以下几个方面的功能:1)打开功能。用户可以打开任何文本内容进行操作。2)保存功能。用户在对文本操作完成后,可以按照需求进行保存文本。3)另存为功能。用户对于新打开的文本操作完成后,可以根据需求进行另存文本。4)退出功能。点击关闭按钮,可以关闭正在查看的文档,并退出。5)复制功能。讲选中的内容可以尽心复制,这样更方便用户修改相应内容。6)剪切功能。用户可以根据需求,对所需要的并且已选中的内容剪切,将其移植至其他处。7)粘贴功能。将复制或者剪切的内容进行粘贴。8)日期/时间功能。用户可以根据需要,点击日期/时间功能按钮可直接将当前的时间植入文本内容。9)字体设置功能。用户可以根据需要改变当前输入文本的字形及颜色。10)帮助功能。用户可查看记事本的使用方法等。

二、算法分析

为了实现该记事本的功能,主要是完成两点:界面的设计及各功能按钮的实现。

(一)界面的设计

主要是使用Java Swing来实现,Swing 提供了更多的组件库,如: JTable,JTree,Jcombox 等。并且Swing 采用了 MVC 设计模式,也即是【模型-视图-控制器】模式,该模式同其他许多设计模式一样,都遵循面向对象的设计中的一个基本原则:不让对象具有太多的功能,如对于按钮来说不要让一个按钮类完成所有的事情,替代的方法就是让一个对象负责组件的观感,而另一个对象负责存储内容,本记事本的图形界面设计采用Swing。这样只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面[4]。

(二)各功能按钮的实现

主要是使用了鼠标及键盘的监听,然后通过各功能函数的调用来实现。在以上分析的基础上,本程序设计分为3个类,分别是:JNotePadUI类,CheckColorFrame类和CheckFontFrame类。其各个类的功能如下:1)JNotePadUI.java:主要包含名为JNotePadUI的public类,其功能主要是定义记事本的界面,并添加事件侦听和事件处理。调用CheckColorFrame类来实现字体颜色的改变,调用CheckFontFrame类实现字体字形的改变。2)CheckColorFrame.java:該类是实现更改记事本文本编辑区字体的颜色功能的类,该类定义了字体更改的方法,用戶可以根据需要及预览字体的形态改变当前文本文字的颜色,并以对话框的形式显示。3)CheckFontFrame.java:该类是实现更改记事本文本编辑区字体的字形功能的类,主要有“加粗”和“斜体”两种形态可供选择。

三、调试及运行结果

1)程序主界面。运行程序后,显示主界面如图1所示:

2)文件界面。文件菜单中包含“打开”,“保存”,“另存”及“关闭”按钮,分别实现打开文件,保存文件,将文件另存以及关闭文件及程序的功能。

3)打开文件。点击打开按钮,弹出选项框,选中文件后再将文件显示到编辑区域。

4)关闭文件。点击关闭按钮,会弹出提示对话框,询问是否保存。

5)日期/时间。点击日期/时间按钮,即可将当前的时间信息显示出来。

6)字体。点击字体按钮,会弹出字体选项框,根据需要选择相应的选项,点击确定之后即可将编辑区的字形变为所选中的对象。

四、结语

该记事本虽以实现了预期功能,但仍不是十分完善,目前本记事本还有待完善的功能如下:

1)没有实现查找和替换的功能,如果查找个别关键字还别叫麻烦。

2)注册界面相对比较单一,不够详细,不能选择头像,注册性别,个性签名等等。

3)聊天内容不能保存,退出聊天室之后就找不到之前的聊天内容,如果在聊天过程中有比较重要的内容需要更慎重的记录。

4)不能像QQ那样发送图片表情而且随意的添加在聊天内容的任何位置。

参考文献:

[1]邱仲潘,等.Java程序设计.北京:北京希望电子出版社,2005.

[2]李明,卞艺杰,等.Java程序设计与应用.北京:清华大学出版社,2010.