简单记事本设计Word文档格式.docx
- 文档编号:16312520
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:14
- 大小:167.28KB
简单记事本设计Word文档格式.docx
《简单记事本设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《简单记事本设计Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
2014.1.4.-2014.1.6
课程设计题目:
设计一个记事本
课程设计要求:
设计要求:
设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能。
可扩展功能。
1)界面设计
2)记事本的基本功能:
(1)菜单中有“文件”,“编辑”,“关于”三个主菜单。
(2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:
分别用于新建文件,打开文件,保存文件,退出记事本。
(3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个子菜单:
用于剪切文字,复制文字,粘贴文字。
可加查找替换等功能。
(4)“关于”菜单中有关于记事本版本等信息
功能可自行增加。
工作计划及安排
时间完成内容
4小时复习相关的课程设计所需的内容,提出要求、提供选题并检索资料、确定设计项目
8小时数据类型定义、确定存储结构、算法设计
10小时算法实现
4小时编写课程设计报告
指导教师签字
年月日
课程设计(大作业)成绩
学号:
姓名:
指导教师:
老师
设计一个记事本
总结:
经过两天的努力,基本上完成我的Java课程设计—个简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。
通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。
同时,做这门课程设计也进一步加强了我的动手能力。
为了完成好这次课程设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。
在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。
但是,设计过程中也存在一些问题,以及想要添加更多的功能,比如设置背景图,设置记事本字体等等功能,但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点遗憾。
同时经过这次设计,自己巩固连以前学的很多知识和学到了以前很多不会的知识,受益匪浅。
指导教师评语:
成绩:
填表时间:
指导教师签名:
1.课程设计介绍
1.1.课程设计内容
1.2课程设计要求
(1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行;
(2)掌握JAVA基本编程技术和方法;
(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=newJMenu[]{
newJMenu("
文件"
),
编辑"
关于"
)
};
JMenuItemoptionofmenu[][]=newJMenuItem[][]{{
newJMenuItem("
新建"
打开"
保存"
退出"
},
3).文件”菜单的事件监听
ActionListeneraction=newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringname=e.getActionCommand();
JMenuItemMI=(JMenuItem)e.getSource();
if("
.equals(name)){
content.setText("
"
);
file=null;
}elseif("
if(file!
=null)openfile.setSelectedFile(file);
intreturnVal=openfile.showOpenDialog(mynotepad.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=openfile.getSelectedFile();
unfold();
}
}elseif("
if(file!
=null)openfile.setSelectedFile(file);
intreturnVal=openfile.showSaveDialog(mynotepad.this);
saving();
mynotepadf=newmynotepad();
ints=JOptionPane.showConfirmDialog(f,"
退出?
"
JOptionPane.YES_NO_OPTION);
2.2功能模块图、流程图分析
1).程序流程图
FalseFalse
truetruetruetruetruetruetruetrue
图3
图2.主流程图
2).模块说明图
图3.模块说明图
3.调试与性能分析
1.主界面图如下:
图4.主界面图
2.运行“文件”图如下:
图5.点击“文件”菜单运行情况图
3.“文件”菜单的“保存”对话
图6.“保存”对话界面图
4.“文件”菜单的“打开”对话
图7.“打开”对话界面图
4.参考文献
主要参考文献
配套教材:
Y.
Daniel
Liang.
Introduction
to
Java
Programming(Sixth
Edition
).机械工业出版社,
2008
参考资料:
[1]
叶核亚.
Java程序设计实用教程(第3版.电子工业出版社,2010
[2]
耿祥义.
JAVA课程设计.清华大学出版,2009
[3]
Java2实用教程.清华大学出版社,2008
[4]
黄小东.Java课程设计案例精编.中国水利水电出版社,2007
附录(程序清单)
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
classmynotepadextendsJFrame{
Filefile=null;
Colorcolor=Color.red;
mynotepad(){//初始化组件
initTextContent();
}
voidinitTextContent(){
getContentPane().add(newJScrollPane(content));
}
JTextPanecontent=newJTextPane();
JFileChooseropenfile=newJFileChooser();
JColorChooseropencolor=newJColorChooser();
JDialogabout=newJDialog(this);
JMenuBarmenu=newJMenuBar();
JMenu[]menus=newJMenu[]{//构建菜单栏及其下拉菜单
},
{
复制"
),
剪切"
粘贴"
颜色"
},
{
newJMenuItem("
voidinitMenu(){
for(inti=0;
i<
menus.length;
i++){
menu.add(menus[i]);
for(intj=0;
j<
optionofmenu[i].length;
j++){
menus[i].add(optionofmenu[i][j]);
optionofmenu[i][j].addActionListener(action);
this.setJMenuBar(menu);
}
ActionListeneraction=newActionListener(){//“文件”菜单的事件监听
if(s==JOptionPane.YES_OPTION)//“编辑”菜单的事件监听
System.exit(0);
.equals(name)){
content.cut();
content.copy();
content.paste();
color=JColorChooser.showDialog(mynotepad.this,"
color);
content.setForeground(color);
about.setSize(300,150);
about.show();
voidsaving(){//异常处理
try{
FileWriterWritef=newFileWriter(file);
Writef.write(content.getText());
Writef.close();
catch(Exceptione){e.printStackTrace();
}
voidunfold(){
FileReaderReadf=newFileReader(file);
intlen=(int)file.length();
char[]buffer=newchar[len];
Readf.read(buffer,0,len);
Readf.close();
content.setText(newString(buffer));
}catch(Exceptione){e.printStackTrace();
voidinitAboutDialog(){//创建关于窗口
about.setLayout(newGridLayout(5,1));
about.getContentPane().setBackground(Color.white);
about.getContentPane().add(newJLabel("
我的记事本程序"
));
制作者:
zhujianchun"
huangyingjun"
2014年1月"
昆明学院信息技术学院"
about.setModal(true);
about.setSize(100,100);
about.setLocation(250,170);
;
publicclassNotepad{//主函数
publicstaticvoidmain(Stringargs[]){
mynotepadnoted=newmynotepad();
noted.addWindowListener(newWindowAdapter(){
});
noted.setTitle("
noted.setSize(640,320);
noted.show();
noted.setLocation(150,100);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 记事本 设计