java记事本设计.doc_第1页
java记事本设计.doc_第2页
java记事本设计.doc_第3页
java记事本设计.doc_第4页
java记事本设计.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java记事本设计学 院: 专业年级: 学 号: 学生姓名: 成绩评定: 目录-java记事本设计第1章系统设计目的.3第2章系统实现思路.3第3章系统详细设计.8第4章系统调试运行.8第5章课程设计心得.9第6章参考文献.9第1章 系统设计目的1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad+,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。1.2程序设计思路设计一个简单的Windows记事本,可以实现以下功能: 1:文件的新建,打开,保存和另存; 2:对文件的编辑,如全选,复制,剪切,粘贴; 3:执行完操作后,能够顺利关闭记事本。第2章 系统实现思路设计两个类,一个jsb类,具有程序的要求和功能再创建一个keshe主类,在主类中创建一个jsb类的对象,就可以直接在编译器中运行程序。1.1界面设计在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。1.2功能设计在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,显示不同界面。1.3代码设计编写每个控件的相关代码,并进行调试。第3章系统详细设计1.1界面设计创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。主要代码:Dimension scrnsize = Toolkit.getDefaultToolkit().getScreenSize(); clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); jFrame = new JFrame(我的记事本); jFrame.setSize(300, 300); jFrame.setLocation(scrnsize.width / 2 - jFrame.getWidth() / 2, scrnsize.height / 2 - jFrame.getHeight() / 2); jFrame.setVisible(true); menubar = new MenuBar(); menu1 = new Menu(文件); menu2 = new Menu(编辑); menu3 = new Menu(字体); menu4 = new Menu(帮助); menuItemNew = new MenuItem(新建); menuItemOpen = new MenuItem(打开); menuItemSave = new MenuItem(另存为); menuItemExit = new MenuItem(退出); menuItemCopy = new MenuItem(复制); menuItemCut = new MenuItem(剪切); menuItemPast = new MenuItem(粘贴); menuItemItalic = new MenuItem(斜体); menuItemPlain = new MenuItem(正常); meunItemBold = new MenuItem(粗体); menuItemHelp = new MenuItem(帮助); text = new TextArea(, 10, 10, TextArea.SCROLLBARS_VERTICAL_ONLY); f_SaveAs = new FileDialog(jFrame, 保存文件对话框, FileDialog.SAVE); f_Load = new FileDialog(jFrame, 打开文件对话框, FileDialog.LOAD); menu1.add(menuItemNew); menu1.add(menuItemOpen); menu1.add(menuItemSave); menu1.addSeparator(); menu1.add(menuItemExit); menu2.add(menuItemCopy); menu2.add(menuItemCut); menu2.add(menuItemPast); menu3.add(menuItemPlain); menu3.add(menuItemItalic); menu3.add(meunItemBold); jFrame.setMenuBar(menubar); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.setHelpMenu(menu4); menu4.add(menuItemHelp); jFrame.add(text, BorderLayout.CENTER);1.2功能设计对每个菜单项进行注册监听。点击不同菜单项时,显示不同界面。主要代码public void windowClosing(WindowEvent arg0) / TODO Auto-generated method stub f_SaveAs.setVisible(false); ); jFrame.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent arg0) / TODO Auto-generated method stub System.exit(0); ); menuItemNew.addActionListener(this); menuItemOpen.addActionListener(this); menuItemSave.addActionListener(this); menuItemExit.addActionListener(this); menuItemCopy.addActionListener(this); menuItemCut.addActionListener(this); menuItemPast.addActionListener(this); menuItemItalic.addActionListener(this); menuItemPlain.addActionListener(this); meunItemBold.addActionListener(this); menuItemHelp.addActionListener(this);1.3代码设计新建文件public void newo() text.setText();打开文件public void open() f_Load.setVisible(true); text.setText(null); if (f_Load.getFile() != null) String s; try File file = new File(f_Load.getDirectory(), f_Load.getFile(); fr = new FileReader(file); br = new BufferedReader(fr); while (s = br.readLine() != null) text.append(s + n); fr.close(); br.close(); catch (FileNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); 保存文档public void save() f_SaveAs.setVisible(true); if (f_SaveAs.getFile() != null) try File file = new File(f_SaveAs.getDirectory(), f_SaveAs .getFile(); fw = new FileWriter(file); bw = new BufferedWriter(fw); bw.write(text.getText(), 0, (text.getText().length(); bw.flush(); bw.close(); fw.close(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); 退出记事本public void exit() System.exit(0);复制文字public void copy() String temp = text.getSelectedText(); StringSelection selectText = new StringSelection(temp); clipboard.setContents(selectText, null);剪切文字public void cut() String temp = text.getSelectedText(); StringSelection selectText = new StringSelection(temp); clipboard.setContents(selectText, null); int start = text.getSelectionStart(); int end = text.getSelectionEnd(); text.replaceRange(, start, end);复制文字public void paste() Transferable content = clipboard.getContents(this); DataFlavor flaver = DataFlavor.stringFlavor; if (content.isDataFlavorSupported(flaver) try String temp = (String) content.getTransferData(flaver); text.append(temp); catch (UnsupportedFlavorException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); 第4章系统调试运行1.1界面调试确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。在完成加入菜单控件后,不能缺少 f.setMenuBar(menubar); 语句,将menubar设为主窗体的菜单条,否则会看不到菜单栏。如图:1.2功能调试对所有菜单项进行注册监听。当进行除保存以外的菜单项的功能外,在actionPerformed中要编写判断界面是否已经打开或者编辑了文件,如果是,在进行别的功能之前,先对本文件的保存功能,以免文件的丢失。在具体实现中可以用变量i来判断文件是否处于保存状态。第5章课程设计心得1.1课程目的综合运用理论知识和技能,设计开发记事本,熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,提高工程实践能力,为将来实际工作打下坚实的基础。1.2设计收获经过记事本的课程设计,首先,让我加深了对Java语言的理论知识的理解;其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验;最后,加强了我对Java语言的学习兴趣和好感。 第6章参考文献1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论