文本编辑器的设计与实现.doc
《文本编辑器的设计与实现.doc》由会员分享,可在线阅读,更多相关《文本编辑器的设计与实现.doc(28页珍藏版)》请在三一办公上搜索。
1、软 件 学 院课程设计报告书课程名称 设计题目 文本编辑器的设计与实现 专业班级 XXXXXXXXXXX 学 号 xxxxxxxxxx 姓 名 xxx 指导教师 2011 年 11月1 设计时间2011年11月2 设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行
2、Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。3设计任务文本编辑器的设计与实现:设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。4 设计内容 4.1需求分析 需求分析的任务是确定功能必须完成的工作,也就是对目标系统提出完整、准确、清晰、具体的要求
3、。简单文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。文件操作能够实现新建、保存、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,帮助操作能够实现关于主题的查看等功能。4.2概要设计4.2.1程序基本功能概括 文本编辑器格式编辑黏贴打开 菜单保存新建退出另存为文件剪切黏贴查找复制字体字号插入对象替换 图4.2.1 功能架构图4.2.2程序主要组件概括1.基本的Frame框架;2.菜单;3.打开文件对话框;4.保存文件对话框;5.颜色对话框;6.Choice下拉
4、列表,运来实现字体设置;7.简单的帮助框架。4.3详细设计4.3.1文件打开与保存文本编辑器的保存和打开功能的实现用文件对话框及输入输出流来完成。先建立打开和保存对话框,在public void actionPerformed(ActionEvent e)里分别用()和()方法实现保存和打开。 (this,保存文件对话框,);(false); (this,保存文件对话框,);(false);(new WindowAdapter()public void windowClosing(WindowEvent e)(false););(new WindowAdapter()public void w
5、indowClosing(WindowEvent e)(false); );public void actionPerformed(ActionEvent e)if(e.getSource()=itemSave)(true);if()!=null)try (), (); to (file); out=new BufferedWriter(tofile); out.write(area.getText(),0,(area.getText().length(); out.close(); to();catch(IOException e1) else if(e.getSource()=itemLo
6、ad)(true);area.setText(null);String s;if()!=null)try (), (); (file); in=new BufferedReader(); while(s=in.readLine()!=null) area.append(s+n); in.close(); ();catch(IOException e1) 4.3.2字体,字形,字体大小的设置文本编辑器要实现对字体的设置,选用了GraphicsEnvironment对象调用String getAvailableFontFamilyNames()方法,该方法可以获取计算机上所有可用的字体名称,并存放
7、到字符串数组中。Choice list;GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); String fontName=ge.getAvailableFontFamilyNames();public void itemStateChanged(ItemEvent e)String name=list.getSelectedItem();Font f=new Font(name,Font.PLAIN,15);area.setFont(f); else if(e.getSource()=item8)
8、 /设置字形(常规,倾斜,加粗)Font font=area.getFont(); int style=font.getStyle();style=style0; area.setFont(new Font(,style,font.getSize();else if(e.getSource()=item9)Font font=area.getFont(); int style=font.getStyle();style=style2; area.setFont(new Font(,style,font.getSize();else if(e.getSource()=item10)Font fo
9、nt=area.getFont();int style=font.getStyle();style=style1; area.setFont(new Font(,style,font.getSize();else if(e.getSource()=item11) /设置字体大小Font font=area.getFont();int style=font.getStyle();area.setFont(new Font(font.getName(),style,12);else if(e.getSource()=item12)Font font=area.getFont();int style
10、=font.getStyle(); area.setFont(new Font(font.getName(),style,24);else if(e.getSource()=item13)Font font=area.getFont();int style=font.getStyle(); area.setFont(new Font(font.getName(),style,36);4.3.3剪切,复制,粘贴设置文本编辑器中关于剪切,复制,粘贴功能的实现选用处理JTextArea的DocumentEvent事件,通过area.cut(),area.copy(),area.paste()方法,点
11、击“编辑”中相应菜单项可以选择将文本区中选中的内容剪切,复制,粘贴。 public void changedUpdate(DocumentEvent e) String s=area.getText();public void removeUpdate(DocumentEvent e)changedUpdate(e);public void insertUpdate(DocumentEvent e)changedUpdate(e);public void actionPerformed(ActionEvent e) else if(e.getSource()=item2) area.cut()
12、;else if(e.getSource()=item3)area.copy();else if(e.getSource()=item4)area.paste(); 4.3.4插入子菜单,删除子菜单,创建格式菜单及其菜单项 JMenuItem insertItem=new JMenuItem(插入文本(K); insertItem.setMnemonic(K); editMenu.add(insertItem); insertItem.addActionListener( new ActionListener() public void actionPerformed(ActionEvent
13、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.inser
14、t(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.getSelection
15、End(); displayText.replaceRange(null,start,end); ); editMenu.addSeparator(); bar.add( editMenu );/add editMenu JMenu formatMenu = new JMenu( 格式(R) ); formatMenu.setMnemonic( R );4.3.5创建,添加帮助菜项 JMenu helpMenu = new JMenu( 帮助(H) ); helpMenu.setMnemonic( H ); JMenuItem helpItem = new JMenuItem( 帮助主题(H)
16、. ); helpItem.setMnemonic( H ); helpMenu.add( helpItem ); helpItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) JTextArea helpText = new JTextArea( JScrollPane scroller = new JScrollPane(helpText); JOptionPane.showMessageDialog(null,scroller); ); bar.add(
17、helpMenu ); /添加4.4设计成果4.4.1运行界面 图2 文本编辑器主界面 图3文本编辑器编辑界面 图4文本编辑器文件界面 图5文本编辑器格式 图6文本编辑器查找界面 图7 文本编辑器帮助界面 图8文本编辑器字体名称界面 图9文本编辑器字体风格界面 图10文本编辑器中帮助中关于对话框 图11查找消息对话框 图12文本编辑器中另存为对话框4.4.2主要代码import java.awt.*;import java.awt.event.*;import java.awt.datatransfer.*;import javax.swing.*;import java.io.*;impor
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文本 编辑器 设计 实现
链接地址:https://www.31ppt.com/p-4264562.html