记事本课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1
页
课程设计说明
课程名称: Java 课程设计 设计题目: 记事本 专 业: 班级:
学生姓名: 学 号:
指导教师:
湖南工业大学科技学院教务部 制
年月日
一、系统设计目的:
1)设计一个简单的Windows记事本,可以实现以下功能:
1:文件的新建,打开,保存;
2:对文件的编辑,如全选,复制,剪切,粘贴;
3、工具,进行大小写的转换
4:执行完操作后,能够顺利关闭记事本;
2)通过这次设计,可以帮助学生:
1:提高对Java语言设计的掌握能力;
2:理论联系实际,进一步提高学生的软件开发技术;
3:培养学生分析、解决问题的能力。
二、系统实现思路:
设计两个类,一个mynotepad类,具有程序的要求和功能再创建一个Notepad主类,在主类中创建一个mynotepad类的对象,就可以直接在编译器中运行程序。
1:界面设计
在主界面中设计一个iFrame容器,并在其中加入一个下拉菜单和一个文本域控件。
2:功能设计
在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,进行不同的操作。
3:代码设计
编写每个控件的相关代码,并进行调试。
三、系统详细设计
1:界面设计
创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。
第 3 页
主要代码:
JMenu[] menus=new JMenu[]{
new JMenu("文件"),
new JMenu("编辑"),
new JMenu("工具"),
new JMenu("关于")
};
JMenuItem optionofmenu[][]=new JMenuItem[][]{{ new JMenuItem("新建"),
new JMenuItem("打开"),
new JMenuItem("保存"),
new JMenuItem("退出")
},
{
new JMenuItem("复制"),
new JMenuItem("剪切"),
new JMenuItem("粘贴"),
new JMenuItem("文字颜色"),
new JMenuItem("背景颜色")
},
{
new JMenuItem("大写转小写"),
new JMenuItem("小写转大写"),
},
{
new JMenuItem("关于")
}
};
void initMenu(){
for(int i=0;i menu.add(menus[i]); for(int j=0;j menus[i].add(optionofmenu[i][j]); optionofmenu[i][j].addActionListener( action ); } } 第 5 页 this.setJMenuBar(menu); } 2:功能设计 部分菜单项的相关代码: 新建文件 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); if(s==JOptionPane.YES_OPTION) System.exit(0); } else if("剪切".equals(name)) { content.cut(); } else if("复制".equals(name)) { 第7 页