简单记事本设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(大作业)报告
课程名称:面向对象程序设计
设计题目:设计一个记事本
院系:信息技术学院
班级:计算机科学与技术2班
设计者:
学号:
指导教师:
设计时间:2014.1.4.-2014.1.6
昆明学院
昆明学院课程设计(大作业)任务书
课程设计(大作业)报告
1.课程设计介绍 (5)
1.1.课程设计内容 (5)
1.2课程设计要求 (5)
2.总体设计 (5)
2.1设计题目总体设计、算法描述 (5)
2.2功能模块图、流程图分析 (7)
3.调试与性能分析 (8)
4.参考文献 (10)
附录(程序清单) (10)
1.课程设计介绍
1.1.课程设计内容
设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能。可扩展功能。
1)界面设计
2)记事本的基本功能:
(1)菜单中有“文件”,“编辑”,“关于”三个主菜单。
(2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。
(3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个子菜单:用于剪切文字,复制文字,粘贴文字。可加查找替换等功能。
(4)“关于”菜单中有关于记事本版本等信息
功能可自行增加。
1.2课程设计要求
(1)熟悉JA V A开发环境,掌握JA V A程序的编译和运行;
(2)掌握JA V A基本编程技术和方法;
(3)掌握GUI图形界面编程技术;
(4)了解异常处理机制。
2.总体设计
2.1设计题目总体设计、算法描述
在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。
JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。
在图1中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。
图1.
程序流程图
在图1中,构造一个mynotepad 类时要做三件事情,分别是初始化容器(initTextContent )、初始化组件(initMenu 、initAboutDialog )、设置事件监听器。 1).初始化组件
initTextContent(); initMenu();
initAboutDialog(); 2).构建菜单栏及其下拉菜单 JMenu[] menus=new JMenu[]{ new JMenu("文件"), new JMenu("编辑"), new JMenu("关于") };
JMenuItem optionofmenu[][]=new JMenuItem[][]{{ new JMenuItem("新建"),
new JMenuItem("打开"),
new JMenuItem("保存"),
new JMenuItem("退出")
},
3).文件”菜单的事件监听
ActionListener action=new ActionListener(){
public void actionPerformed(ActionEvent e){
String name = e.getActionCommand();
JMenuItem MI=(JMenuItem)e.getSource();
if("新建".equals(name)){
content.setText("");
file=null;
}else if("打开".equals(name)){
if(file !=null)openfile.setSelectedFile(file);
int returnVal=openfile.showOpenDialog(mynotepad.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=openfile.getSelectedFile();
unfold();
}
}else if("保存".equals(name)){
if(file!=null) openfile.setSelectedFile(file);
int returnVal=openfile.showSaveDialog(mynotepad.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=openfile.getSelectedFile();
saving();
}
}else if("退出".equals(name)){
mynotepad f=new mynotepad();
int s=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION);
2.2功能模块图、流程图分析
1).程序流程图
图2.主流程图
2).模块说明图
3.调试与性能分析