JAVA记事本

上传人:简****9 文档编号:110006840 上传时间:2019-10-28 格式:PDF 页数:61 大小:1.08MB
返回 下载 相关 举报
JAVA记事本_第1页
第1页 / 共61页
JAVA记事本_第2页
第2页 / 共61页
JAVA记事本_第3页
第3页 / 共61页
JAVA记事本_第4页
第4页 / 共61页
JAVA记事本_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《JAVA记事本》由会员分享,可在线阅读,更多相关《JAVA记事本(61页珍藏版)》请在金锄头文库上搜索。

1、 目录 一、 系统描述.1 二、 功能分析与设计.1 2.1功能模块划分.1 2.1.1菜单栏设计1 2.1.2 编辑区设计.1 2.1.3 工具栏设计.2 2.2主界面的框架.2 2.3功能详细设计.2 2.3.1主界面设计2 2.3.2菜单项设计3 2.3.3窗口设计3 2.3.4个人主要设计处3 2.3.5对每个菜单项的功能进行注册监听6 2.3.6 监听事件.6 三、 调试分析与设计结果.7 3.1主界面调试 7 3.2功能区测试 7 3.3界面菜单选项的功能测试.8 3.3.1字体调试8 3.3.2另存为功能9 3.3.3 复制,剪贴功能. .9 3.3.4 粘贴功能. 10 四、

2、心得体会11 五、 参考文献11 六、 附录11 1 一.系统描述 1 1)设计一个简单的 Windows 记事本,可以实现以下功能: 1:文件的新建,打开,保存和另存 2:对文件的编辑,如全选,复制,剪切,粘贴 3:执行完操作后,能够顺利关闭记事本 2 2)通过这次设计,可以帮助学生: 1:提高对 Java 语言设计的掌握能力 2:理论联系实际,进一步提高软件开发技术 3:培养快速分析、解决问题的能力 3)解决了以下问题: 1: 知道如何建立工程以及如何添加界面元素 (pane,textfield,button,checkbox 等) 建立窗口界面与为界面元素添加事件响应过程实现用户功能需求

3、 2:如何从现有的代码文件建立 project 3:如何在工程中添加第 3 方包,扩展开发环境功能 4:如何生成一个独立于开发环境的 runnable jar 包 二.功能分析与设计 这个程序完成的是一个类似于 Windows 记事本的记事本功能。它当然没有像 专业的记事和文本操作软件一样的强大,但是还是完成了基本的简单功能。 2.1 功能模块划分 2.1.1 菜单栏设计及功能实现: 菜单栏主要包括文件、 编辑、 格式、 查看、 帮助 2.1.1.1 文件菜单有新建、打开、保存、另存为、页面设置、打印、退出 2.1.1.2 编辑菜单有撤销、剪切、复制、粘贴、删除、查找、查找下一个、替换、 转到

4、、全选、时间/日期 2.1.1.3 格式菜单含有自动换行和对字体的设置。 如” 黑体” , ” 宋体” , ” Times New Roman”,”仿宋”,”Wingdings”,”微软雅黑”以及字体风格的选取 2.1.1.4 查看菜单包括状态栏 2.1.1.5 帮助菜单后帮助主题以及关于记事本的一些介绍 2.1.2编辑区设计:对文本的编辑处理区 2 2.1.3工具栏设计:可根据需要增加该项功能 2.2 主界面的框架 如图 1 所示,菜单栏+文本区+状态栏。 (图 1 主界面) 2.3 功能详细设计 2.3.1 主界面设计 /菜单 JMenu fileMenu,editMenu,formatM

5、enu,viewMenu,helpMenu; /“文本”编辑区域 JTextArea editArea; 3 /状态栏标签 JLabel statusLabel; 2.3.2 菜单项设计 /“文件”的菜单项 JMenuItem fileMenu_New,fileMenu_Open,fileMenu_Save,fileMenu_SaveAs,fileMenu_PageSet Up,fileMenu_Print,fileMenu_Exit; /“编辑”的菜单项 JMenuItem editMenu_Undo,editMenu_Cut,editMenu_Copy,editMenu_Paste,edi

6、tMenu_Delete,ed itMenu_Find,editMenu_FindNext,editMenu_Replace,editMenu_GoTo,editMenu_Sele ctAll,editMenu_TimeDate; /“格式”的菜单项 JCheckBoxMenuItem formatMenu_LineWrap; JMenuItem formatMenu_Font; /“查看”的菜单项 JCheckBoxMenuItem viewMenu_Status; /“帮助”的菜单项 JMenuItem helpMenu_HelpTopics,helpMenu_AboutNotepad;

7、2.3.32.3.3 窗口设计 /设置窗口在屏幕上的位置、大小和可见性 this.setLocation(100,100); this.setSize(650,550); this.setVisible(true); 2.3.42.3.4 个人主要设计处 /另存为 else if(e.getSource()=fileMenu_SaveAs) editArea.requestFocus(); String str=null; 4 JFileChooser fileChooser=new JFileChooser(); fileChooser.setFileSelectionMode(JFileC

8、hooser.FILES_ONLY); /fileChooser.setApproveButtonText(“确定“); fileChooser.setDialogTitle(“另存为“); int result=fileChooser.showSaveDialog(this); if(result=JFileChooser.CANCEL_OPTION) statusLabel.setText(“您没有选择任何文件“); return; File saveFileName=fileChooser.getSelectedFile(); if(saveFileName=null|saveFileN

9、ame.getName().equals(“) JOptionPane.showMessageDialog(this,“不合法的文件名“,“不合法 的文件名“,JOptionPane.ERROR_MESSAGE); else try FileWriter fw=new FileWriter(saveFileName); BufferedWriter bfw=new BufferedWriter(fw); bfw.write(editArea.getText(),0,editArea.getText().length(); bfw.flush(); fw.close(); oldValue=ed

10、itArea.getText(); this.setTitle(saveFileName.getName()+“- 记事本“); statusLabel.setText(“当前打开文 件:“+saveFileName.getAbsoluteFile(); catch(IOException ioException) 5 /另存为结束 /设置剪切,复制,粘帖,删除功能的可用性 /剪切 else if(e.getSource()=editMenu_Cut | e.getSource()=popupMenu_Cut) editArea.requestFocus(); String text=edit

11、Area.getSelectedText(); StringSelection selection=new StringSelection(text); clipBoard.setContents(selection,null); editArea.replaceRange(“,editArea.getSelectionStart(),editArea.getSelectionEnd() ); checkMenuItemEnabled();/设置剪切,复制,粘帖,删除功能的可用 性 /剪切结束 /复制 else if(e.getSource()=editMenu_Copy | e.getSou

12、rce()=popupMenu_Copy) editArea.requestFocus(); String text=editArea.getSelectedText(); StringSelection selection=new StringSelection(text); clipBoard.setContents(selection,null); checkMenuItemEnabled(); /粘帖 else if(e.getSource()=editMenu_Paste | e.getSource()=popupMenu_Paste) editArea.requestFocus()

13、; Transferable contents=clipBoard.getContents(this); if(contents=null)return; String text=“; Try text=(String)contents.getTransferData(DataFlavor.stringFlavor); 6 catch (Exception exception) editArea.replaceRange(text,editArea.getSelectionStart(),editArea.getSelectionEn d(); checkMenuItemEnabled();

14、/粘帖结束 2.3.5 对每个菜单项的功能进行注册监听。点击不同菜单项时显示不 同界面。 主要代码: (同一菜单项的功能选一例) fileMenu_New.addActionListener(this); editMenu_Undo.addActionListener(this); formatMenu_LineWrap.addActionListener(this); helpMenu_AboutNotepad.addActionListener(this); 2.3.6 监听事件 /“替换“按钮监听 replaceButton.addActionListener(new ActionLis

15、tener() public void actionPerformed(ActionEvent e) if(replaceText.getText().length()=0 if(replaceText.getText().length()0 );/“替换“按钮监听结束 7 三.调试分析与设计结果 3.1 主界面调试 确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行 初始化。在完成加入菜单控件后,不能缺少 this.setJMenuBar(menuBar);语句。 , 将 menuBar 设为主窗体的菜单条,否则会看不到菜单栏。其结果如图一 3.2 功能区测试 1.点击“

16、文件”按钮 效果:如图二 (图二 文件) 结果:正常 2.点击“编辑”按钮 效果:如图三 (图三 编辑) 结果:正常 8 3.点击“格式”按钮 效果:如图四 (图四 格式) 结果:正常 3.3 界面菜单选项的功能测试(部分) 3.3.1 字体调试:其测试结果结果如图五 点击“格式”“字体” (图五 字体设置) 9 3.3.2 (另存为功能)调试:其测试结果如图六 点击文件-另存为-Documents-命名文件名-保存(完成) (图六 另存为) 3.3.3 复制,剪贴功能调试:测试结果如图七 按住鼠标左键选取需要操作字段-右击字段会出现如图所示字样-选取需要的 操作列如(复制)可以使用快捷键(有提示)-左键鼠标完成操作 10 3.3.4 粘贴功能调试:测试结果如图八 前提 (选取好了目的粘贴的文字)-右击就会显示如图情况-点击粘贴完成操作 11 三、心得体会 我们的课程设计题目是记事本,当看到这个题目的时候我还不知道如何下手,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号