java课程设计记事本Word格式文档下载.docx
《java课程设计记事本Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java课程设计记事本Word格式文档下载.docx(53页珍藏版)》请在冰豆网上搜索。
![java课程设计记事本Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/29/17d539ef-b1c3-423c-9bd8-845082b8cbf7/17d539ef-b1c3-423c-9bd8-845082b8cbf71.gif)
及格
(70>
x≥60)
不及格(x<
60)
评分
参考标准
学习态度
15
学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作
学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务
学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作
学习态度尚可,能遵守组织纪律,能按期完成任务
学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度
技术水平与实际能力
25
设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信
设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信
设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信
设计基本合理,理论分析与计算无大错,实验数据无大错
设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题
创新
10
有重大改进或独特见解,有一定实用价值
有较大改进或新颖的见解,实用性尚可
有一定改进或新的见解
有一定见解
观念陈旧
论文(计算书、图纸)撰写质量
50
结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;
图纸非常工整、清晰
结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;
图纸工整、清晰
结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;
图纸比较工整、清晰
结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;
图纸比较工整
内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;
图纸不工整或不清晰
指导教师评定成绩:
指导教师签名:
年月日
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
题目:
基于java的记事本
已知技术参数和设计要求:
a)时间要求为14周~18周。
b)开发工具为JCreator。
c)开发平台为Windows。
d)说明文档要求符合学校课程设计文档规范。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
写出不少于8000字的课程设计说明书。
说明书中除了在封面应有题目、班级、姓名、学号和课程设计日期以外,其正文一般有如下几个方面的内容:
1.应用软件的开发环境的简要说明
2.需求分析
3.数据文件(或数据库)设计
4.功能设计
5.程序的主要界面、代码实现
6.对设计结果的总结
7.附录或参考资料
时间安排:
【2012年12月25日---2012年12月26日】搜集资料,查阅文献,确定课程设计题目历时2天。
【2012年12月27日---2012年12月29日】分析初步需求,得到系统目标、系统功能需求、系统设计,历时3天。
【2012年12月30日---2013年1月2日】编程实现系统,系统测试与修改,历时4天。
【2013年1月3日】撰写记事本课程设计报告。
一、应用软件的开发环境的简要说明
(1)开发工具为JDK1.5。
(2)开发平台为Windowsxp
二、问题描述及要求
设计一个简单的Windows记事本,可以实现以下功能:
1、文件的新建,打开,保存和另存;
2、对文件的编辑,如全选,复制,剪切,粘贴;
3、执行完操作后,能够顺利关闭记事本。
三、需求分析
随着科学的发展人们的日常生活中经常需要用到记事本用于编辑,查看,保存文本,为此设计了一个简单的记事本。
功能如下:
(1)新建文本、打开文本、编辑文本、保存文本、另存文本、打印文本、退出记事本;
(2)格式设置(设置字体属性、设置背景颜色);
(3)帮助功能;
(4)插入日期时间;
(5)粘贴文本、查找与替换功能。
(6)文件菜单,编辑菜单,格式菜单,查看菜单和帮助菜单。
四、设计思路
4.1工作原理图
4.2功能规划
本程序继承了JFrame,应用了JMenu、JMenuItem、JPopupMenu等来建立菜单选项,顶上为菜单选项和工具栏,下面为文本编辑窗口。
事件监听器中的处理方法有voidactionPerform(ActionEventevent)用来处理按钮事件,实现了A3ctionListener和DocumentListener接口中的方法。
五、程序的主要界面设计以及代码实现
类名:
Notepad4
作用:
主类
继承的父类:
JFrame
实现的接口:
ActionListener,DocumentListener
—————————————————————————————————————
FileTransferHandler
表示通过往/返于剪贴板的剪切、复制或粘贴操作进行交换的数据。
在拖放操作中使用,以表示对组件进行拖动和放置组件。
TransferHandler
无
importjava.awt.*;
importjava.awt.event.*;
importjava.text.*;
importjava.util.*;
importjava.io.*;
importjavax.swing.undo.*;
importjavax.swing.*;
importjavax.swing.event.*;
importjava.awt.datatransfer.*;
importjava.util.List;
(1)打开文件
(2)保存文件:
(3)更改字体颜色
(4)字体设置功能
(5)帮助中的关于
(6)查找与替换
[1]丁振凡.Java语言实用教程(第2版)[M].北京邮电大学出版社.2008.1
[2]丁振凡.Java语言实用教程实验指导(第2版)[M].北京邮电大学出版社.2008.1
[3]杨树林等.Java语言最新实用案例教程(第2版)[M].清华大学出版社.2010.7
[4]艾力江.Java范例入门与提高[M].
清华大学出版社.2004.2
[5]耿祥义.Java课程设计(第1版)
[M].
清华大学出版社.2004.1
经过一周的努力,我设计出一个简单的记事本,虽然没有完全实现所有的功能,但是经过在课程设计中遇到的一些问题,让我的知识得到了巩固,例如修改字体和字号的默认设置。
总而言之,通过这次课程设计,有一定的收获:
(1)巩固了这学期所学知识。
(2)学会了如何查找资料。
课程设计设的安排第一天为查找资料时间,通过这一天的搜寻,我知道了在哪里能找到想要的资料,用什么办法能更快找到想要的资料
(3)养成了独立思考和解决问题的能力
publicclassNotepad4extendsJFrameimplementsActionListener,DocumentListener{
JMenumFile,mEdit,mMode,mView,mHelp;
//---------------文件菜单
JMenuItemmFile_New,mFile_Open,mFile_Save,mFile_ASave,mFile_Print,mFile_Exit;
//---------------编辑菜单
JMenuItemmEdit_Undo,mEdit_Cut,mEdit_Copy,mEdit_Paste,mEdit_Del,mEdit_Search,mEdit_SearchNext,mEdit_Replace,mEdit_Turnto,mEdit_SelectAll,mEdit_TimeDate;
//---------------格式菜单
JCheckBoxMenuItemformatMenu_LineWrap;
JMenuformatMenu_Color;
JMenuItemformatMenu_Font,formatMenu_Color_FgColor,formatMenu_Color_BgColor;
//---------------查看菜单
JCheckBoxMenuItemviewMenu_Status;
//---------------帮助菜单
JMenuItemmHelp_HelpTopics,mHelp_About;
//---------------弹出菜单级菜单项
JPopupMenupopupMenu;
JMenuItempopupMenu_Undo,popupMenu_Cut,popupMenu_Copy,popupMenu_Paste,popupMenu_Delete,popupMenu_SelectAll;
//---------------工具栏按钮
JButtonnewButton,openButton,saveButton,saveAsButton,printButton,undoButton,redoButton,cutButton,copyButton,pasteButton,deleteButton,searchButton,timeButton,fontButton,boldButton,
italicButton,fgcolorButton,bgcolorButton,helpButton;
//文本编辑区域
staticJTextAreaText;
//状态栏标签
JLabelstatusLabel1,statusLabel2,statusLabel3;
JToolBarstatusBar;
//---------------系统剪贴板
ToolkittoolKit=Toolkit.getDefaultToolkit();
ClipboardclipBoard=toolKit.getSystemClipboard();
//---------------创建撤消操作管理器
protectedUndoManagerundo=newUndoManager();
protectedUndoableEditListenerundoHandler=newUndoHandler();
//----------------其它变量
booleanisNewFile=true;
//是否新文件(未保存过的)
FilecurrentFile;
//当前文件名
StringoldValue;
//存放编辑区原来的内容,用于比较文本是否有改动
JButtonfontOkButton;
//字体设置里的"
确定"
按钮
//----------------设置编辑区默认字体
protectedFontdefaultFont=newFont("
宋体"
Font.PLAIN,12);
GregorianCalendartime=newGregorianCalendar();
inthour=time.get(Calendar.HOUR_OF_DAY);
intmin=time.get(Calendar.MINUTE);
intsecond=time.get(Calendar.SECOND);
FilesaveFileName=null,fileName=null;
publicNotepad4(){
super("
记事本作者:
高久凤"
);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
Containercontainer=getContentPane();
//System.out.println(Text.getDragEnabled());
//支持自动拖放
JScrollPanescroll=newJScrollPane(Text);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
Text.setWrapStyleWord(true);
//设置单词在一行不足容纳时换行
Text.setLineWrap(true);
Text.setFont(defaultFont);
//设置编辑区默认字体
Text.setBackground(Color.white);
//设置编辑区默认背景色
Text.setForeground(Color.black);
//设置编辑区默认前景色
oldValue=Text.getText();
//获取原文本编辑区的内容
//--------------------------编辑区注册事件监听
Text.getDocument().addUndoableEditListener(undoHandler);
//添加负责通知任何更改的撤消侦听器
Text.getDocument().addDocumentListener(this);
//添加负责通知任何更改的文档侦听器
JMenuBarMenuBar=newJMenuBar();
mFile=newJMenu("
文件(F)"
true);
//创建菜单
mEdit=newJMenu("
编辑(E)"
mMode=newJMenu("
格式(O)"
mView=newJMenu("
查看(V)"
mHelp=newJMenu("
帮助(H)"
mEdit.addActionListener(newActionListener()//注册事件监听
{
publicvoidactionPerformed(ActionEvente){
checkMenuItemEnabled();
//设置剪切、复制、粘贴、删除等功能的可用性
}
});
mFile.setMnemonic('
F'
mEdit.setMnemonic('
E'
mMode.setMnemonic('
O'
mView.setMnemonic('
V'
mHelp.setMnemonic('
H'
MenuBar.add(mFile);
MenuBar.add(mEdit);
MenuBar.add(mMode);
MenuBar.add(mView);
MenuBar.add(mHelp);
//--------------文件菜单
mFile_New=newJMenuItem("
新建(N)"
'
N'
mFile_Open=newJMenuItem("
打开(O)"
mFile_Save=newJMenuItem("
保存(S)"
S'
mFile_ASave=newJMenuItem("
另存为(A)"
A'
mFile_Print=newJMenuItem("
打印(P)"
P'
mFile_Exit=newJMenuItem("
退出(X)"
X'
mFile_New.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
mFile_Open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
mFile_Save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
mFile_Print.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
mFile_New.addActionListener(this);
//注册事件监听
mFile_Open.addActionListener(this);
mFile_Save.addActionListener(this);
mFile_ASave.addActionListener(this);
mFile_Print.addActionListener(this);
mFile_Exit.addActionListener(this);
mFile.add(mFile_New);
//添加菜单项
mFile.add(mFile_Open);
mFile.add(mFile_Save);
mFile.add(mFile_ASave);
mFile.addSeparator();
//添加分割线
mFile.add(mFile_Print);
mFile.add(mFile_Exit);
//--------------编辑菜单
mEdit_Undo=newJMenuItem("
撤消(U)"
U'
mEdit_Cut=newJMenuItem("
剪切(T)"
T'
mEdit_Copy=newJMenuItem("
复制(C)"
C'
mEdit_Paste=newJMenuItem("
粘贴(P)"
mEdit_Del=newJMenuItem("
删除(L)"
L'
mEdit_Search=newJMenuItem("
查找(F)"
mEdit_SearchNext=newJMenuItem("
查找下一个(N)"
mEdit_Replace=newJMenuItem("
替换(R)"
R'
mEdit_Turnto=newJMenuItem("
转到(G)"
G'
mEdit_SelectAll=newJMenuItem("
全选(A)"
mEdit_TimeDate=newJMenuItem("
时间/日期(D)"
D'
mEdit_Cut.setEnabled(false);
mEdit_Undo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
mEdit_Cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
mEdit_Copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
mEdit_Paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
mEdit_Del.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
mEdit_Search.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
mEdit_SearchNext.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F3,0));
mEdit_Replace.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
mEdit_Turnto.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));
mEdit_SelectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
mEdit_TimeDate.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));
mEdit_Undo.addActionListener(this);
mEdit_Cut.addActionListener(this);
mEdit_Copy.addActionListener(this);
mEdit_Paste.addActionListener(this);
mEdit_Del.addActionListener(this);
mEdit_Search.addActionListener(this);
mEdit_SearchNext.addActionListener(this);
mEdit_Replace.addAction