基于java的模拟写字板的设计和实现论文Word下载.docx
- 文档编号:3697377
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:37
- 大小:337.18KB
基于java的模拟写字板的设计和实现论文Word下载.docx
《基于java的模拟写字板的设计和实现论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于java的模拟写字板的设计和实现论文Word下载.docx(37页珍藏版)》请在冰点文库上搜索。
2.1JavaApplet 4
2.2可行性研究分析 4
2.2.1技术可行性 4
2.2.2经济可行性 4
2.2.3社会可行性 4
2.3本章小结 5
3基于java的模拟写字板架构设计 6
3.1模拟写字板设计需求 6
3.2模拟写字板结构设计 7
4模拟写字板详细设计 8
4.1模拟写字板类结构设计 8
4.2模拟写字板界面设计 8
5系统测试 28
6总结 30
参考文献 31
致谢 32
1 引言
1.1课题研究背景
随着科技的不断发展,计算机方面的各种电子产品也在不断发展和进步,许多电子产品都想各个方向在改进,现在的用户最求界面的最优效果,致使许多的用户在相应的操作系统提高图形化界面的发展。
基于此种情形,软件是否拥有一个良好的图形化用户界面,是否能够最大限度的满足用户的使用体验,这决定了该产品能否被喜欢甚至推广。
现在市场上有大量的图形界面很漂亮的系统软件被用户认可,计算机技术在进步,软件的发展也随之进步,不仅如此,硬件以及新的技术在计算机的相关知识基础上有了新的进步和革新,而这时导致系统自身体系结构、操作运行系统发生改变的重要原因,而这样的变化会导致与当下新环境的不协调运作[2]。
但如果在新的环境下,重新开发软件,又会白白浪费相应的人力和物力,并还会浪费已经渐渐成熟的软件成果。
本课题是基于java的平台,对写字板进行设计与实现,依据java的特性,一方面能够解决性能问题,而且可以发挥多种平台的优势,充分利用其自身的特点;
另一方面则表现为即使在新环境下,依旧可以完成对设计的实现以及其优点的表现,即能够减少开发费用,还能够对原有不足的改进,增加新的需求并对其功能的实现加以完善,进而提高其质量,延长其生命期[3]。
故而,实现于java基础上的应用程序的开发是一项非常值得关注与肯定的话题,具有重要的研究意义与商业价值。
对于写字板而言,以windows系统为例,其相应功能的软件(记事本)的设计并不美观,所能给予的用户体验不够舒适,在其书写过程中的文本属性也相对有些混乱,不能满足人们对使用舒适性与美观性的要求,而相较于word等专门的办公软件而言,其跨平台性与兼容性就显得有些差强人意了,虽然在windows的平台下,txt格式的文本有一些长处与特殊之处,但针对目前这么一个多元化、多平台、全方位、宽领域的情况下来说,该类文本文件的使用并不能做到普及与实用,多种文字格式的文件无法用该软件正常打开,经常会形成乱码,而该文件
33
保存下的文档也经常无法正常的使用别的软件打开与读取,这样的问题会造成信息的丢失与浪费,可能会造成不良的后果,因此,针对这样的情况,我们希望设计出能够适用于多平台交互的写字板软件,并尽可能的满足用户对美观的要求。
1.2课题研究意义
当今社会是一个高度信息化的社会,伴随着计算机技术的迅速发展和普及,它已经深深植入于我们生活与工作中,而计算机也成为了我们学习和工作的得力助手,提供给我们许多实用的功能,譬如对文字进行处理、对信息进行管理、还可以辅助设计、对图形与图像进行处理、还可以进行教育培训以及游戏娱乐等活动。
而当下各行各业的人们都借用计算机完成许多复杂而繁琐的工作,使得整个工作环境得以简化而效率得以提高,并且计算机的普及还规范了整个社会的运转情况,推进了社会的发展。
但值得注意的是,虽然目前的软件种类十分繁多,各式各样的软件层出不穷,但由于用户的数量很庞大,导致软件需求的种类不同与数量的巨大,所以现存的软件依旧不能满足用户们的一些特殊需要,鉴于这样的现状,人们不得不继续开发各类软件以便能够实现自身的各种需求,而本课题就是在这样的情形下所形成的[4]。
基于java的写字板的设计与开发,能够满足人们对写字板这一软件的兼容性与跨平台性方面不足的完善,能够尽可能的去迎合大多数用户的多种需求,而这也正是这项课题的出发点与立足点,也正是这项课题的研究意义所在,尽可能的满足多数人的公共需求并最好能保留挑选特殊性差异的功能是设计并开发一个软件所应该遵循的原则与评判其好坏的一个标准 ,这样才能表现出以人为本,用户至上的观念。
研究这样的课题,一方面遵循了软件设计所应该遵循的基本原则,另一方面对原有的软件进行扩展与完善,使得课题不是那么的陌生,至少有一些现成的模板可以进行参照与,并能够直观有规划的找到其优化完善方向与完善的方法,减轻了一部分的难度。
1.3课题研究内容
对于当前各种不同应用平台的产品所表现出的高度个性化的特点,即其外观、
人机交互界面等方面存在着千差万别的不同之处,而该课题的设计目标是实现一个能在各产品用户端平台上运行、通用的、并且可方便的支持各种控件、各种图形格式的面向用户的应用软件,同时还具有体积小、可供裁剪、可供移植等优点与特点,使得即使处于不同的设备平台上也能具有美观的用户界面,以及相对比较丰富和完善的用户功能,并尽可能的使程序操作起来简单、有效而又直观[5],这是我们所要研究的方向。
通过对Windows环境和java语言的分析,设计了在Windows环境下java的基础上面向Windows终端的模拟写字板应用软件,并设计实现其的跨平台性,争取可移植到其他的平台下并能正常运行,充分发挥java语言的特性,使得软件具有完备的兼容性。
模拟写字板应该具有可以将其创建的文件以其原有存放的形式显示出来,并可以实现对文件的新建、打开、编辑和内容保存功能,对字体的设置功能,查找功能以及对程序的控制功能。
由于其体积小,移植方便,适用于很多不同的系统平台环境[6],除此之外它作为一种小型图形界面解决方案,可令那些对图形界
面大小要求苛刻的各种应用系统作为借鉴。
[7]
2理论及技术基础
2.1JavaApplet
JavaApplet顾名思义,就是利用Java语言编写的小应用程序,Applet是在用户的计算机上执行的,提供了名为抽象窗口工具箱的窗口环境开发工具。
AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。
2.2可行性研究分析
2.2.1技术可行性
依据设计书所提出的系统功能、性能及实现系统的种种约束前提,基于新系统的目标来权衡是否拥有所需要的技术,该软件是一个模拟写字板,当下拥有的技术已比较的成熟,硬件、软件的性能要求、环境等个个综合条件优良,预计借用现有技术前提应该完全可以实现该软件的功能目标。
并且,思考所给的开发限期也比较的充裕,估计系统是可以在规定日期内实现开发的[10]。
综上所述可以知晓,模拟写字板的设计与开发在技术领域上是可行的。
具有完成的条件。
2.2.2经济可行性
模拟写字板拥有信息化的处理方式,同时拥有着撑持本系统的应用平台。
因此无需再投入资金购买其他设施[11]。
软件的开发应该以自身从程序开发的实践中学习为基础而来的,学校没有资金投入的必要,而且这样的软件开发过程中实际投入的成本并不是很高,所以开发经费方面完全可以接受。
2.2.3社会可行性
该软件的社会可行性主要从法理因素、用户使用的可行性两方面深入讨论研究。
(1)法理因素
该软件是依据模拟写字板的现实情况设计完善开发的,是经过大量的调查研究所得出的结果,系统的软件设计是在独立的环境下完成的,没有可供参考抄袭的软件产品[12],不存在侵权等违法的事项。
(2)用户使用可行性
该软件在用户方面的要求,除了使用者应具备一些在MicrosoftWindows平台上使用个人电脑的基本能力以外,并不需要特别的技术方面的能力。
使用软件的管理员,必须具备一定的运用Tomcat服务器的能力,在投入到使用之前,不需要对管理系统的人员进行培训。
这样既能够降低成本的投入又可以简化操作的环节[13]。
综上所述可以知晓,本系统在社会可行性方面也能够达标。
2.3本章小结
本章主要介绍了实现在模拟写字板所用的理论和技术基础,并对每一种理论或技术做了简要的介绍,同时这些技术在该系统中能够得到应用。
3基于java的模拟写字板架构设计
3.1模拟写字板设计需求
模拟写字板可以将所选文件下的相关文件按文本的格式显示出来,同时可以实现对相关文件的新建、打开、编辑和文本的删除等功能;
模拟写字板可以依据文件自身内容量的多少来实现的滚动显示,并且也能通过计算机的键盘对文本本身进行迅速的编辑等功能。
(1)模拟写字板新建功能:
可以在规定的路径创建一个新的模拟写字板文件。
(2)打开模拟写字板的功能:
依据文件列表选择打开指定的文件,打开指定文件时,将打开文件的文本内容显示在文件编辑界面上,当所选文件的内容过多时可以自动转变为滚动显示状态,并在文件编辑界面的上方滚动显示所选择打开的文件的文件名。
(3)控制模拟写字板编辑格式功能:
编辑所选定的文件时,其文件的文本内容输入到当前界面的右端边界处进行自动换行,同时也可以使用键盘操作来实现换行动作。
当输入的文本内容多于当前屏幕纵向显示范围时出现纵向滚动条,随着文本输入可以通过滚动来显示内容。
(4)模拟写字板的内容修改提示功能:
若在选定打开文件后,对其内容进行了修改,在关闭文件时将会自动提示该文件的内容已经被修改的消息,用户可手动选择是否保存修改后的内容。
(5)模拟写字板的内容增删与改查功能:
在打开所选定的相关文件后,可以对该文件中的文本内容进行编辑,如增加、删除、修改、撤销修改、查找等。
这一旦发生变化,则在选择保存后,文件列表中当时所选的文件内容也会发生相应的更改变化。
(6)模拟写字板保存功能:
可以对操作之后的相应文件进行保存,在选择保存更改的文件之后,新保存的文件名将会立即显示在文件列表上。
3.2 模拟写字板结构设计
如图3.6所示,模拟写字板界面是模拟写字板的入口和出口。
模拟写字板通过调用文件列表中不同的功能菜单对所选文件执行各种操作。
在文件列表的功能菜单中根据所选择的菜单条目不同,能够进入相应的功能界面,如新建文件编辑界面、文件显示内容界面等。
而且各个界面都有自己的功能菜单,通过调用自己的功能菜单对当前界面进行下一步的操作,如当新建文件界面显示时,可通过菜单按钮进行增加、删除、修改和查找内容的操作;
当打开文件时在文件内容的显示界面上,,可通过菜单按钮进行增加、删除、修改和查找内容的操作以及可通过修改文件提示框选择是否保存修改后的文件内容。
图3.6模拟写字板结构设计
4模拟写字板详细设计
4.1模拟写字板类结构设计
Test
-curFile
-find_textLineEdit
-createAction()
-maybeSave()
-saveFile()
-setCurrentFile()
-loadFile()
-newFile()
-save()
-saveAs()
-openFile()
-about()
-back()
-time()
-find()
-show_findText()
图4.1模拟写字板类图
4.2模拟写字板界面设计
(1)新建文件编辑界面:
如图4.2所示,界面上方显示功能界面名称。
工具栏上面有各种操作的按钮,中间区域为文本编辑区,用于接收文本的输入。
界面可以实现扩大缩小的功能。
图4.2模拟写字板界面
(2)打开文件内容显示界面:
如图图4.3所示,界面中间区域为文件内容的显示区,可以接收文本的编辑和修改。
图4.3打开模拟写字板界面
(3)模拟写字板功能菜单设计:
如图4.4所示,模拟写字板工具栏上依次为文件按钮、编辑按钮、格式按钮、查看、复制按钮、帮助按钮。
代码如下:
图4.4模拟写字板菜单界面
publicclassTextEditorFrameextendsJFrameimplementsActionListener,DocumentListener{
//定义变量
//菜单
JMenufileMenu,editMenu,formatMenu,viewMenu,helpMenu;
//"
文件"
的菜单项
JMenuItemfileMenu_New,fileMenu_Open,fileMenu_Save,fileMenu_SaveAs,fileMenu_Print,fileMenu_Exit;
编辑"
JMenuItemeditMenu_Undo,editMenu_Redo,editMenu_Cut,editMenu_Copy,editMenu_Paste,editMenu_Delete,editMenu_Find,editMenu_FindNext,editMenu_Replace,
editMenu_GoTo,editMenu_SelectAll,editMenu_TimeDate;
格式"
JCheckBoxMenuItemformatMenu_LineWrap;
JMenuformatMenu_Color;
JMenuItemformatMenu_Font,formatMenu_Color_FgColor,formatMenu_Color_BgColor;
查看"
JCheckBoxMenuItemviewMenu_Status;
帮助"
JMenuItemhelpMenu_HelpTopics,helpMenu_About;
//文本编辑区域
JTextAreaeditArea;
//状态栏标签
JLabelstatusLabel;
//弹出菜单及菜单项
JPopupMenupopupMenu;
JMenuItempopupMenu_Undo,popupMenu_Redo,popupMenu_Cut,popupMenu_Copy,popupMenu
_Paste,popupMenu_Delete,popupMenu_SelectAll;
//向菜单条添加"
菜单及菜单项menuBar.add(fileMenu);
fileMenu.add(fileMenu_New);
fileMenu.add(fileMenu_Open);
fileMenu.add(fileMenu_Save);
fileMenu.add(fileMenu_SaveAs);
fileMenu.add(fileMenu_Exit);
菜单及菜单项
menuBar.add(editMenu);
editMenu.add(editMenu_Undo);
editMenu.add(editMenu_Redo);
editMenu.addSeparator();
//分隔线editMenu.add(editMenu_Cut);
editMenu.add(editMenu_Copy);
editMenu.add(editMenu_Paste);
editMenu.add(editMenu_Delete);
//分隔线editMenu.add(editMenu_Find);
editMenu.add(editMenu_FindNext);
editMenu.add(editMenu_Replace);
editMenu.add(editMenu_GoTo);
//分隔线editMenu.add(editMenu_SelectAll);
editMenu.add(editMenu_TimeDate);
menuBar.add(formatMenu);
formatMenu.add(formatMenu_LineWrap);
formatMenu.add(formatMenu_Font);
formatMenu.addSeparator();
formatMenu.add(formatMenu_Color);
formatMenu_Color.add(formatMenu_Color_FgColor);
formatMenu_Color.add(formatMenu_Color_BgColor);
菜单及菜单项menuBar.add(viewMenu);
viewMenu.add(viewMenu_Status);
菜单及菜单项menuBar.add(helpMenu);
helpMenu.add(helpMenu_HelpTopics);
helpMenu.addSeparator();
helpMenu.add(helpMenu_About);
//向窗口添加菜单条this.setJMenuBar(menuBar);
//创建文本编辑区并添加滚动条editArea=newJTextArea(20,50);
JScrollPanescroller=newJScrollPane(editArea);
scroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
container.add(scroller,BorderLayout.CENTER);
//向容器添加文本编辑区editArea.setWrapStyleWord(true);
//设置单词在一行不足容纳时换行editArea.setLineWrap(true);
//设置文本编辑区自动换行默认为true,即会"
自动换行"
editArea.setFont(defaultFont);
//设置编辑区默认字体editArea.setBackground(Color.white);
//设置编辑区默认背景色editArea.setForeground(Color.black);
//设置编辑区默认前景色
oldValue=editArea.getText();
//获取原文本编辑区的内容
//编辑区注册事件监听editArea.getDocument().addUndoableEditListener(undoHandler);
editArea.getDocument().addDocumentListener(this);
//创建右键弹出菜单popupMenu=newJPopupMenu();
popupMenu_Undo=newJMenuItem("
撤消(U)"
'
U'
);
popupMenu_Redo=newJMenuItem("
重做(R)"
R'
popupMenu_Cut=newJMenuItem("
剪切(T)"
T'
popupMenu_Copy=newJMenuItem("
复制(C)"
C'
popupMenu_Paste=newJMenuItem("
粘贴(P)"
P'
popupMenu_Delete=newJMenuItem("
删除(D)"
D'
popupMenu_SelectAll=newJMenuItem("
全选(A)"
A'
popupMenu_Undo.setEnabled(false);
//撤消选项初始设为不可用
popupMenu_Redo.setEnabled(false);
//重做选项初始设为不可用
//向右键菜单添加菜单项和分隔符popupMenu.add(popupMenu_Undo);
popupMenu.add(popupMenu_Redo);
popupMenu.addSeparator();
popupMenu.add(popupMenu_Cut);
popupMenu.add(popupMenu_Copy);
popupMenu.add(popupMenu_Paste);
popupMenu.add(popupMenu_Delete);
popupMenu.ad
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 模拟 写字板 设计 实现 论文