欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [毕业设计精品] 文本编辑器的设计与实现.doc

    • 资源ID:3932777       资源大小:3.75MB        全文页数:25页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [毕业设计精品] 文本编辑器的设计与实现.doc

    目录1 设计时间12 设计目的13 设计任务14 设计内容14.1需求分析14.2概要设计14.2.1系统功能图14.3详细设计24.3.1 系统流程图24.4系统功能与实现24.4.1 类或包的加载24.4.1构建菜单栏及其下拉菜单34.5 运行与测试195 总结与展望21参考文献23成绩评定231 设计时间2011年12月19日-2011年12月25日2 设计目的文本编辑器的设计与实现3 设计任务设计文本编辑器,实现打开、新建、保存一个文本文件;设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等功能。4 设计内容 4.1需求分析 在科学技术飞速发展的今天,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。应用JAVA技术实现学生学习实践是可行而必要的工作 。在社会生活中我们经常需要用电脑编写一些文档来保存文件,本课程设计是运用了JAVA软件开发工具开发的应用软件4.2概要设计4.2.1系统功能图记事本程序文件编辑查找格式保存退出打开剪切复制粘贴查找替换帮助字体4.3详细设计4.3.1 系统流程图开始打开记事本打开文件菜单项打开编辑框显示文字打开帮助菜单项在各自功能中切换退出结束4.4系统功能与实现4.4.1 类或包的加载import java.awt.*;import java.awt.event.*;import java.awt.datatransfer.*;import javax.swing.*;import java.io.*;import java.lang.*;4.4.1构建菜单栏及其下拉菜单 / 设置文件菜单及其菜单项 JMenu fileMenu = new JMenu( "文件(F)" ); fileMenu.setMnemonic( 'F' ); / 设置新建菜单项 JMenuItem newItem = new JMenuItem( "新建(N)" ); newItem.setMnemonic( 'N' ); fileMenu.add( newItem ); newItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) displayText.setText(""); ); / 设置打开菜单项 JMenuItem openItem = new JMenuItem( "打开(O)" ); openItem.setMnemonic( 'O' ); fileMenu.add( openItem ); openItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) fd.setTitle("打开"); /设置标题 fd.show();if (fd.getFile() != null) File file = new File(fd.getFile(); /用从fd中取得的文件建立新文件,即打开的文件displayText.setText( "");try FileReader f = new FileReader(file);BufferedReader b = new BufferedReader(f);/按行读打开的文件,然后传入文本域String s;try while (s = b.readLine() != null) displayText.append(s + "n");/将给定文本追加到文本域的当前文本(即把读的内容加入文本域)f.close();b.close(); catch (IOException ex) catch (FileNotFoundException ex) else return; ); fileMenu.addSeparator(); /加分隔线 / 设置保存菜单项 JMenuItem saveItem = new JMenuItem( "保存(S)" ); saveItem.setMnemonic( 'S' ); fileMenu.add( saveItem ); saveItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) fd.setFile("*.java"); fd.setMode(FileDialog.SAVE);fd.setTitle("保存");fd.show(); if (fd.getFile() != null) File file = new File(fd.getFile();try PrintWriter pw = new PrintWriter(new FileOutputStream(file);/1.5版本之前用这一句,之后可以用PrintWriter pw = new PrintWriter(file);pw.print(displayText.getText();/这一部分用于把textArea1中的内容打印到pw指定的文件file中去,file围在对话框中选定的文件pw.flush(); /刷新该流的缓冲,然后关闭该流pw.close(); catch (FileNotFoundException ex) ex.printStackTrace(); else return; ); / 设置另存为菜单项 JMenuItem saveAsItem = new JMenuItem( "另存为(Z)" ); saveAsItem.setMnemonic( 'Z' ); fileMenu.add( saveAsItem ); saveAsItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) fd.setFile("*.java"); fd.setMode(FileDialog.SAVE);fd.setTitle("另存为");fd.show(); if (fd.getFile() != null) File file = new File(fd.getFile();try PrintWriter pw = new PrintWriter(new FileOutputStream(file);/1.5版本之前用这一句,之后可以用PrintWriter pw = new PrintWriter(file);pw.print(displayText.getText();/这一部分用于把textArea1中的内容打印到pw指定的文件file中去,file围在对话框中选定的文件pw.flush(); /刷新该流的缓冲,然后关闭该流pw.close(); catch (FileNotFoundException ex) ex.printStackTrace(); else return; ); fileMenu.addSeparator(); /加分隔线 / 设置退出菜单项 JMenuItem exitItem = new JMenuItem( "退出(X)" ); exitItem.setMnemonic( 'x' ); fileMenu.add( exitItem ); exitItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) System.exit( 0 ); );bar.add( fileMenu );/*-*/ /创建编辑菜单及其菜单项 JMenu editMenu = new JMenu( "编辑(E)" ); editMenu.setMnemonic( 'E' ); /剪切菜单选项 JMenuItem cutItem = new JMenuItem( "剪切(T)" ); cutItem.setMnemonic( 'T' ); editMenu.add( cutItem ); cutItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) selectText = displayText.getSelectedText();/取得选定的文本int start = displayText.getSelectionStart();/选定的文本的开始位置int end = displayText.getSelectionEnd();/选定的文本的结束位置displayText.replaceRange("", start, end);/*用指定替换文本替换指定开始位置与结束位置之间的文本。 这里指定替换文本为空,即为剪切了文本*/ ); /复制菜单选项 JMenuItem copyItem = new JMenuItem( "复制(C)" ); copyItem.setMnemonic( 'C' ); editMenu.add( copyItem ); copyItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) selectText = displayText.getSelectedText();/获得选中的内容,并保存在selectText里 ); /粘贴的实现 JMenuItem pasteItem = new JMenuItem( "粘贴(P)" ); pasteItem.setMnemonic( 'P' ); editMenu.add( pasteItem ); pasteItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) int position = displayText.getCaretPosition();/获得鼠标当前位置 displayText.insert( selectText,position );/插入到鼠标当前位置 ); editMenu.addSeparator();/加分隔线 /替换的实现 JMenuItem swapItem = new JMenuItem( "替换(R))" ); swapItem.setMnemonic( 'R' ); editMenu.add( swapItem ); swapItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) JPanel swapPanel=new JPanel(); JLabel lookupLabel=new JLabel("要替换的内容"); JTextField inputText=new JTextField(10); JLabel swapLabel=new JLabel("替换为:"); JTextField changetoText=new JTextField(10); swapPanel.add(lookupLabel); swapPanel.add(inputText); swapPanel.add(swapLabel); swapPanel.add(changetoText); JOptionPane.showMessageDialog(null,swapPanel); String text=displayText.getText();/获得整个文本内容 String changeText=text.replaceFirst(inputText.getText(),changetoText.getText();/获得替换后的内容 displayText.setText(changeText); ); /全部替换的实现 JMenuItem aswapItem = new JMenuItem( "全部替换(Q))" ); aswapItem.setMnemonic( 'Q' ); editMenu.add( aswapItem ); aswapItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) JPanel swapPanel=new JPanel(); JLabel lookupLabel=new JLabel("要替换的内容"); JTextField inputText=new JTextField(10); JLabel swapLabel=new JLabel("替换为:"); JTextField changetoText=new JTextField(10); swapPanel.add(lookupLabel); swapPanel.add(inputText); swapPanel.add(swapLabel); swapPanel.add(changetoText); JOptionPane.showMessageDialog(null,swapPanel); String text=displayText.getText();/获得整个文本内容 String changeText=text.replaceAll(inputText.getText(),changetoText.getText();/获得替换后的内容 displayText.setText(changeText); ); editMenu.addSeparator();/加分隔线 /插入子菜单 JMenuItem insertItem=new JMenuItem("插入文本(K)"); insertItem.setMnemonic('K'); editMenu.add(insertItem); insertItem.addActionListener( new ActionListener() public void actionPerformed(ActionEvent event) JPanel insertPanel=new JPanel(); JLabel insertLabel=new JLabel("要插入的内容"); JTextField inputText=new JTextField(10); insertPanel.add(insertLabel); insertPanel.add(inputText); JOptionPane.showMessageDialog(null,insertPanel); int fromIndex=displayText.getCaretPosition();/取得当前的光标位置 displayText.insert(inputText.getText(),fromIndex); ); /删除子菜单 JMenuItem RemoveItem=new JMenuItem("删除(G)"); RemoveItem.setMnemonic('G'); editMenu.add(RemoveItem); RemoveItem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int start=displayText.getSelectionStart(); int end=displayText.getSelectionEnd(); displayText.replaceRange(null,start,end); ); editMenu.addSeparator(); bar.add( editMenu );/add editMenu/*-*/ / 创建格式菜单及其菜单项 JMenu formatMenu = new JMenu( "格式(R)" ); formatMenu.setMnemonic( 'R' ); /自动换行的功能切换 JMenuItem changeItem = new JMenuItem( "自动换行(W)" ); changeItem.setMnemonic( 'W' ); formatMenu.add( changeItem ); changeItem.addActionListener( new ActionListener() boolean var = false; public void actionPerformed( ActionEvent event ) if(var) var = false; else var=true; displayText.setLineWrap(var); ); / 颜色菜单项 String colors = "黑色", "蓝色", "红色", "绿色" ; JMenu colorMenu = new JMenu( "颜色(C)" ); colorMenu.setMnemonic( 'C' ); colorItems = new JRadioButtonMenuItem colors.length ; colorGroup = new ButtonGroup(); ItemHandler itemHandler = new ItemHandler(); / 创建颜色按钮监听器 for ( int count = 0; count < colors.length; count+ ) colorItems count = new JRadioButtonMenuItem( colors count ); colorMenu.add( colorItems count ); colorGroup.add( colorItems count ); colorItems count .addActionListener( itemHandler ); / 默认颜色 colorItems 0 .setSelected( true ); / 将颜色菜单项菜单加入菜单 formatMenu.add( colorMenu ); formatMenu.addSeparator(); /加分隔线 / 字体菜单项 JMenu fontMenu = new JMenu( "字体(n)" ); fontMenu.setMnemonic( 'n' ); fonts = new JRadioButtonMenuItem fontNames.length ; fontGroup = new ButtonGroup(); / 创建字体按钮监听器 for ( int count = 0; count < fonts.length; count+ ) fonts count = new JRadioButtonMenuItem( fontNames count ); fontMenu.add( fonts count ); fontGroup.add( fonts count ); fonts count .addActionListener( itemHandler ); / 默认字体 fonts 0 .setSelected( true ); fontMenu.addSeparator(); / 设置风格菜单 styleItems = new JCheckBoxMenuItem styleNames.length ; for ( int count = 0; count < styleNames.length; count+ ) styleItems count = new JCheckBoxMenuItem( styleNames count ); fontMenu.add( styleItems count ); StyleHandler styleHandler = new StyleHandler(); styleItems count .addItemListener( styleHandler ); formatMenu.add( fontMenu ); bar.add( formatMenu );/*-*/ /创建查找菜单 JMenu searchMenu = new JMenu( "查找(S)" ); searchMenu.setMnemonic( 'H' ); /添加向前查找菜单项 JMenuItem frontItem = new JMenuItem( "向前查找(F)" ); frontItem.setMnemonic( 'F' ); searchMenu.add( frontItem ); frontItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) JPanel swapPanel=new JPanel(); JLabel seekLabel=new JLabel("要查找的内容"); JTextField inputText=new JTextField(20); swapPanel.add(seekLabel); swapPanel.add(inputText); JOptionPane.showMessageDialog(null,swapPanel); String text=displayText.getText();/获得整个文本内容 int fromIndex=displayText.getCaretPosition();/取得当前的光标位置 int lastfromIndex=text.indexOf(inputText.getText(),fromIndex);/获得查找后的位置 displayText.setCaretPosition(lastfromIndex); displayText.moveCaretPosition(lastfromIndex+inputText.getText().length();/使查找到的子字符串显示出来 ); /添加向后查找菜单项 JMenuItem backItem = new JMenuItem( "向后查找(B)" ); backItem.setMnemonic( 'B' ); searchMenu.add( backItem ); backItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) JPanel swapPanel=new JPanel(); JLabel seekLabel=new JLabel("要查找的内容"); JTextField inputText=new JTextField(20); swapPanel.add(seekLabel); swapPanel.add(inputText); JOptionPane.showMessageDialog(null,swapPanel); String text=displayText.getText();/获得整个文本内容 int fromIndex=displayText.getCaretPosition();/取得当前的光标位置 int lastfromIndex=text.lastIndexOf(inputText.getText(),fromIndex);/获得查找后的位置 displayText.setCaretPosition(lastfromIndex); displayText.moveCaretPosition(lastfromIndex+inputText.getText().length();/使查找到的子字符串显示出来 ); bar.add( searchMenu ); /添加/*-*/ /创建帮助菜单 JMenu helpMenu = new JMenu( "帮助(H)" ); helpMenu.setMnemonic( 'H' ); / 设置“关于(A).”菜单项 JMenuItem aboutItem = new JMenuItem( "关于(A)." ); aboutItem.setMnemonic( 'A' ); helpMenu.add( aboutItem ); aboutItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) JOptionPane.showMessageDialo

    注意事项

    本文([毕业设计精品] 文本编辑器的设计与实现.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开