ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:102.06KB ,
资源ID:10999932      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10999932.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(记事本程序全版.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

记事本程序全版.docx

1、记事本程序全版记事本程序的设计与实现一、设计分析1.1系统概述记事本主要是对文字进行编辑处理的软件。能进行新建、打开、保存等功能;并且能运用剪贴、复制、粘贴、清除功能,对文字更方便的录入。另外还可以根据用户的需要查找相应的文字,实现编辑功能。1.2系统运行环境 操作系统:Windows XP 开发语言: JAVA 开发工具:JCreatorPro1.3功能需求描述由于记事本是一套简单的文本编辑器。要求记事本不但要具备完善的编辑、方便的性能,还要提供更简便的操作。这就要求设计人员在编辑过程当中尽可能的考虑到。包括以下内容:1、对文本进行编辑; 2、用户根据不同的权限可对文本进行添加、删除、修改等

2、操作; 3、对记事本进行各种编辑(精确、简单); 二、总体设计 记事本采用现有的编辑,简单的记事本编辑器,充分利用大家现有的编辑,减少大家的时间,提高大家对记事本的熟练。记事本就具备编辑功能,可以及时根据大家需求进行新建、保存操作。 记事本筐架图2-1三、系统的实现3.1主界面包括文件、编辑、查找、帮助操作界面子目录包括 复制、粘贴、新建、查找等,如图3-1显示。图3-1.1图3-1.2图3-1.3图3-1.43.1完成图3-1程序代码如下import java.awt.*;import java.awt.event.*;import java.io.*;import java.awt.dat

3、atransfer.*;class MyMenuBar extends MenuBar public MyMenuBar(Frame parent) parent.setMenuBar(this); public void addMenus(String menus) for(int i=0;imenus.length;i+) add(new Menu(menusi); public void addMenuItems(int menuNumber,String items) for(int i=0;iitems.length;i+) if(itemsi!=null) getMenu(menu

4、Number).add(new MenuItem(itemsi); else getMenu(menuNumber).addSeparator(); public void addActionListener(ActionListener al) for(int i=0;igetMenuCount();i+) for(int j=0;jgetMenu(i).getItemCount();j+) getMenu(i).getItem(j).addActionListener(al); class MyFile private FileDialog fDlg; public MyFile(Fram

5、e parent) fDlg=new FileDialog(parent,FileDialog.LOAD); private String getPath() return fDlg.getDirectory()+fDlg.getFile(); public String getData() throws IOException fDlg.setTitle(打开); fDlg.setMode(FileDialog.LOAD); fDlg.setVisible(true); BufferedReader br=new BufferedReader(new FileReader(getPath()

6、; StringBuffer sb=new StringBuffer(); String aline; while(aline=br.readLine()!=null) sb.append(aline+n); br.close(); return sb.toString(); public void setData(String data) throws IOException fDlg.setTitle(保存); fDlg.setMode(FileDialog.SAVE); fDlg.setVisible(true); BufferedWriter bw=new BufferedWriter

7、(new FileWriter(getPath(); bw.write(data); bw.close(); class MyClipboard private Clipboard cb; public MyClipboard() cb=Toolkit.getDefaultToolkit().getSystemClipboard(); public void setData(String data) cb.setContents(new StringSelection(data),null); public String getData() Transferable content=cb.ge

8、tContents(null); try return (String) content.getTransferData(DataFlavor.stringFlavor); /DataFlavor.stringFlavor会将剪贴板中的字符串转换成Unicode码形式的String对象。 /DataFlavor类是与存储在剪贴板上的数据的形式有关的类。 catch(Exception ue) return null; class MyFindDialog extends Dialog implements ActionListener private Label lFind=new Label

9、(查找字符串); private Label lReplace=new Label(替换字符串); private TextField tFind=new TextField(10); private TextField tReplace=new TextField(10); private Button bFind=new Button(查找); private Button bReplace=new Button(替换); private TextArea ta; public MyFindDialog(Frame owner,TextArea ta) super(owner,查找,fal

10、se); this.ta=ta; setLayout(null); lFind.setBounds(10,30,80,20); lReplace.setBounds(10,70,80,20); tFind.setBounds(90,30,90,20); tReplace.setBounds(90,70,90,20); bFind.setBounds(190,30,80,20); bReplace.setBounds(190,70,80,20); add(lFind); add(tFind); add(bFind); add(lReplace); add(tReplace); add(bRepl

11、ace); setResizable(false); bFind.addActionListener(this); bReplace.addActionListener(this); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) MyFindDialog.this.dispose(); ); /构造函数结束 public void showFind() setTitle(查找); setSize(280,60); setVisible(true); public void showR

12、eplace() setTitle(查找替换); setSize(280,110); setVisible(true); private void find() String text=ta.getText(); String str=tFind.getText(); int end=text.length(); int len=str.length(); int start=ta.getSelectionEnd(); if(start=end) start=0; for(;start=end-len;start+) if(text.substring(start,start+len).equ

13、als(str) ta.setSelectionStart(start); ta.setSelectionEnd(start+len); return; /若找不到待查字符串,则将光标置于末尾 ta.setSelectionStart(end); ta.setSelectionEnd(end); public Button getBFind() return bFind; private void replace() String str=tReplace.getText(); if(ta.getSelectedText().equals(tFind.getText() ta.replaceR

14、ange(str,ta.getSelectionStart(),ta.getSelectionEnd(); else find(); public void actionPerformed(ActionEvent e) if(e.getSource()=bFind) find(); else if(e.getSource()=bReplace) replace(); class MyMemo extends Frame implements ActionListener private TextArea editor=new TextArea(); /可编辑的TextArea private

15、MyFile mf=new MyFile(this);/MyFile对象 private MyClipboard cb=new MyClipboard(); private MyFindDialog findDlg=new MyFindDialog(this,editor); public MyMemo(String title) /构造函数 super(title); MyMenuBar mb=new MyMenuBar(this); /添加需要的菜单及菜单项 mb.addMenus(new String文件,编辑,查找,帮助); mb.addMenuItems(0,new String新建

16、,打开,保存,null,全选); mb.addMenuItems(1,new String剪贴,复制,粘贴,清除,null,全选); mb.addMenuItems(2,new String查找,null,查找替换); mb.addMenuItems(3,new String我的记事本信息); add(editor); /为菜单项注册动作时间监听器 mb.addActionListener(this); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) MyMemo.this.dispo

17、se(); ); /分号不能忘了 /构造函数完 public void actionPerformed(ActionEvent e) String selected=e.getActionCommand(); /获取菜单项标题 if(selected.equals(新建) editor.setText(); else if(selected.equals(打开) try editor.setText(mf.getData(); catch(IOException ie) else if(selected.equals(保存) try mf.setData(editor.getText(); c

18、atch(IOException ie) else if(selected.equals(退出) dispose(); else if(selected.equals(剪贴) /将选中的字符串复制到剪贴板中并清除字符串 cb.setData(editor.getSelectedText(); editor.replaceRange(,editor.getSelectionStart(),editor.getSelectionEnd(); else if(selected.equals(复制) cb.setData(editor.getSelectedText(); else if(select

19、ed.equals(粘贴) String str=cb.getData(); editor.replaceRange(str,editor.getSelectionStart(),editor.getSelectionEnd(); /粘贴在光标位置 else if(selected.equals(清除) editor.replaceRange(,editor.getSelectionStart(),editor.getSelectionEnd(); else if(selected.equals(全选) editor.setSelectionStart(0); editor.setSelect

20、ionEnd(editor.getText().length(); else if(selected.equals(查找) findDlg.showFind(); else if(selected.equals(查找替换) findDlg.showReplace(); public static void main(String args) MyMemo memo=new MyMemo(记事本); memo.setSize(650,450); memo.setVisible(true);四、操作方法与试验结果4.1 操作方法 将需的文字录入该文本框,然后进行该程序的功能测试,以我住在麦子里为例

21、。我们要实现文本框的查找功能。如查找文中的“大地”,将鼠标移动到查找后单击,然后输入“大地”。图4-1.14.2复制粘贴功能选中复制内容,点击复制,然后在需要的位置点击粘贴。图4-1.24.3实验结果输入要查找的内容之后,点击“查找”,程序就能找出文中包含“大地”的这句。并将其置于页顶。实现了文字的查找功能。对于所复制的内容将光标移动到相应的位置,然后点击粘贴,之后就实现了文字的复制粘贴功能。五、设计体会通过设计记事本小程序,了解了实现该类型程序的方法,掌握了需要用到的代码、类、算法等。有些小问题还是没有掌握,比如查找文字的时候怎样使文字的状态是选中的。这个程序还有许多需要改进的地方,比如快捷键的设置,子菜单的分隔等等。我将在今后的学习过程中尽量完善自己的编程水平,使自己能够尽快的适应社会工作的需要,以求做到最好。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1