仿windowsJAVA课程设计汇本记事本文档格式.docx
《仿windowsJAVA课程设计汇本记事本文档格式.docx》由会员分享,可在线阅读,更多相关《仿windowsJAVA课程设计汇本记事本文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
一、需求分析
该课程设计报告里的简易记事本程序是使用Java程序设计语言编写的,要求实现记事本的基本功能,参考了windows中记事本的一些功能。
要求打开文件,读取文件中的文本信息;
实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。
二、概要设计
1.1系统主要功能
本程序是利用java程序设计语言编写的一个简单的记事本程序。
可以通过菜单栏和工具栏实现以下功能:
如文件的新建,打开,保存和退出;
对文件的编辑,如复制,剪切,粘贴;
以及帮助菜单;
执行完操作后,能够顺利关闭记事本。
1.2运行环境要求
(1)实现设计的系统硬件需求
硬件配置的基本要求:
*586以上的计算机
*32MB以上的内存
*彩色显示器
*3.5寸高密软盘驱动器
*光盘驱动器
*4G以上硬盘空间
*鼠标
(2)实现设计的系统软件
*WINDOWS95或WINDOWS98
*JcreatorPro全套软件
三、详细设计
设计思路:
设计一个EditorDemo类,继承自JFrame类,并在EditorDemo类利用JtextPane创建面板窗口textPane,利用Jlabel创建状态栏statusBar,利用JFileChooser创建文件选择器filechooser,利用JMenuBar创建并实例化菜单栏,利用JToolBar创建工具栏,再通过一些具体方法实现各功能键的功能。
建立构造函数publicEditorDemo();
通过该构造函数实现记事本程序的主要功能,运行时在主类中通过调用该构造函数来实现对记事本程序的基本操作。
1:
窗口设计
在主接口中设计一个EditorDemo容器继承自JFrame,并在其中加入菜单栏、工具栏和一个文本域控件。
publicclassEditorDemoextendsJFrame
JTextPanetextPane=newJTextPane();
//创建文本窗格,编辑窗口
JFileChooserfilechooser=newJFileChooser();
//文件选择器
setJMenuBar(createJMenuBar(actions));
//设置菜单栏
Containercontainer=getContentPane();
//得到容器
container.add(createJToolBar(actions),BorderLayout.NORTH);
//工具栏
container.add(textPane,BorderLayout.CENTER);
//增加文本窗格
2:
功能设计
(1)在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。
点击不同菜单项时,显示不同接口。
privateJMenuBarcreateJMenuBar(Action[]actions)//创建菜单栏
JMenuBarmenubar=newJMenuBar();
//实例化菜单栏
JMenumenuFile=newJMenu("
文件(F)"
);
//实例化菜单
JMenumenuEdit=newJMenu("
编辑(E)"
JMenumenuFormat=newJMenu("
格式(O)"
JMenumenuFind=newJMenu("
查找(V)"
JMenumenuAbout=newJMenu("
帮助(H)"
menuFile.add(newJMenuItem(actions[0]));
//增加新菜单项
menuFile.add(newJMenuItem(actions[1]));
menuFile.add(newJMenuItem(actions[2]));
menuFile.addSeparator();
menuFile.add(newJMenuItem(actions[7]));
menuEdit.add(newJMenuItem(actions[3]));
menuEdit.add(newJMenuItem(actions[4]));
menuEdit.add(newJMenuItem(actions[5]));
menuAbout.add(newJMenuItem(actions[6]));
menubar.add(menuFile);
//增加菜单
menubar.add(menuEdit);
menubar.add(menuFormat);
menubar.add(menuFind);
menubar.add(menuAbout);
returnmenubar;
//返回菜单栏
如下图:
(2)加入工具栏的功能键,通过工具栏实现对文本的基本操作。
Action[]actions=//Action数组,各种操作命令
newNewAction(),
newOpenAction(),
newSaveAction(),
newCutAction(),
newCopyAction(),
newPasteAction(),
newAboutAction(),
newExitAction(),
privateJToolBarcreateJToolBar(Action[]actions)//创建工具条
JToolBartoolBar=newJToolBar();
//实例化工具条
JButtonbt=newJButton(actions[i]);
//实例化新的按钮
toolBar.add(bt);
//增加按钮到工具栏
如图所示:
(3)对每个菜单项进行注册监听。
点击不同功能键时,实现不同的操作,显示不同的窗口。
主要实现方法代码如下:
classNewActionextendsAbstractAction{//实现新建文件命令功能
publicNewAction(){
super("
新建文本"
}
publicvoidactionPerformed(ActionEvente){
textPane.setDocument(newDefaultStyledDocument());
//清空文档
}}
classOpenActionextendsAbstractAction{//实现打开文件命令功能
publicOpenAction(){
打开文本"
inti=filechooser.showOpenDialog(EditorDemo.this);
//显示打开文件对话框
if(i==JFileChooser.APPROVE_OPTION){//点击对话框中打开选项
Filef=filechooser.getSelectedFile();
//得到选择的文件
try{
InputStreamis=newFileInputStream(f);
//得到文件输入流
textPane.read(is,"
d"
//读入文件到文本窗格
}catch(Exceptionex){
ex.printStackTrace();
//输出出错信息
}}}}
classSaveActionextendsAbstractAction{//实现保存文本命令
publicSaveAction(){
保存文本"
inti=filechooser.showSaveDialog(EditorDemo.this);
//显示保存文件对话框
if(i==JFileChooser.APPROVE_OPTION){//点击对话框中保存按钮
try{
FileOutputStreamout=newFileOutputStream(f);
//得到文件输出流
out.write(textPane.getText().getBytes());
//写出文件
//输出出错信息}}}}
classExitActionextendsAbstractAction{//实现退出命令
publicExitAction(){
退出系统"
System.exit(0);
//退出程序}}
classCutActionextendsAbstractAction{//实现剪切命令
publicCutAction(){
剪切"
textPane.cut();
//调用文本窗格的剪切命令}}
classCopyActionextendsAbstractAction{//实现拷贝命令
publicCopyAction(){
拷贝"
publicvoidactionPerformed(ActionEvente)
{textPane.copy();
//调用文本窗格的拷贝命令
classPasteActionextendsAbstractAction{//实现粘贴命令
publicPasteAction(){
粘贴"
publicvoidactionPerformed(ActionEvente)