Java课程设计--文本编辑器(共27页).doc
《Java课程设计--文本编辑器(共27页).doc》由会员分享,可在线阅读,更多相关《Java课程设计--文本编辑器(共27页).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 面向对象课程设计 选题名称: 文本编辑器的设计与实现 姓 名: 俞凯 学 号: 专业班级: 中新软111 系 (院): 国际学院 设计时间: 2013.6.172013.6.30 设计地点: 软件实验室、教室 成绩:指导教师评语: 签名: 年 月 日专心-专注-专业1课程设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运
2、用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。2课程设计任务与要求:2.1 文本编辑器的设计与实现:设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。2.2 设计要求:课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。认真完成需求分析,建议采用UML建模技术进行系统的分析设计,在画出系统用例图和
3、类图,并将UML图复制到设计报告中。认真按时完成课程设计报告,课程设计报告内容包括:课程设计目的、设计任务与要求、设计说明书、设计成果和设计心得五个部分,具体要求见设计报告模板。通过这次设计,要求掌握以下内容:1) 面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用2) 类、包、接口的定义与使用3) 常用工具类与算法的实现(数组、向量、字符串、链表)4) java.awt、javax.swing中常用标准GUI组件及相应的事件处理5) Java的异常处理机制6) Java的数据库连接技术7) Java的多线程技术与动画制作8) Java的网络编程3课程设计说明书1、 需求分析:简单
4、文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。文件操作能够实现新建、保存、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,帮助操作能够实现关于主题的查看等功能2、概要设计:(一)其基本功能包括: 基本的文本操作功能。包括新建,保存,打开,保存。 基本的编辑功能。包括复制,剪贴,粘贴。 基本的格式功能,背景。文本编辑器模块文件打开与保存变更面板颜色字体的设置字形和字体大小的设置剪切 复制 粘贴帮助中【关于主题】 简单的帮助,关于主题。(二)主要的组件包括: 基
5、本的Frame框架; 菜单; 打开文件对话框; 保存文件对话框; 颜色对话框; Choice下拉列表,运来实现字体设置; 简单的帮助框架。(三) 设计流程示意图建立基本框架添加编辑区添加菜单添加对话框完善菜单系统建立下拉列表编辑文字建立框架实现简单帮助3、详细设计:1) 文件打开与保存对话框filedialog_save=new FileDialog(this,保存文件对话框,FileDialog.SAVE);filedialog_save.setVisible(false);filedialog_load=new FileDialog(this,保存文件对话框,FileDialog.LOAD
6、);filedialog_load.setVisible(false);filedialog_save.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)filedialog_save.setVisible(false););filedialog_load.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)filedialog_load.setVisible(false); );publi
7、c void actionPerformed(ActionEvent e)if(e.getSource()=itemSave)filedialog_save.setVisible(true);if(filedialog_save.getFile()!=null)try File file=new File(filedialog_save.getDirectory(), filedialog_save.getFile(); tofile=new FileWriter(file); out=new BufferedWriter(tofile); out.write(area.getText(),0
8、,(area.getText().length(); out.close(); tofile.close();catch(IOException e1) else if(e.getSource()=itemLoad)filedialog_load.setVisible(true);area.setText(null);String s;if(filedialog_load.getFile()!=null)tryFile file=new File(filedialog_load.getDirectory(), filedialog_load.getFile(); file_reader=new
9、 FileReader(file); in=new BufferedReader(file_reader); while(s=in.readLine()!=null) area.append(s+n); in.close(); file_reader.close();catch(IOException e1) 文本编辑器的保存和打开功能的实现用文件对话框及输入输出流来完成。先建立打开和保存对话框,在public void actionPerformed(ActionEvent e)里分别用FileWriter()和FileReader()方法实现保存和打开。2) 调用颜色对话框else if(
10、e.getSource()=item5) Color newColor=JColorChooser.showDialog(this,调色板,area.getBackground(); if(newColor!=null) area.setBackground(newColor); 文本编辑器要实现背景功能可以用javax.swing包中的JColorChooser类的静态方法。Pubic static Color showDialog(Component,String title,Color initialColor),其中参数Component指定对话框所依赖的组件,即文本编辑器中的文本区a
11、rea,title指定对话框的标题“调色板”,initialColor指定对话框返回的初始颜色,即对话框消失后,返回默认值。3) 建立Choice下拉列表实现对字体的设置Choice list;GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); String fontName=ge.getAvailableFontFamilyNames();public void itemStateChanged(ItemEvent e)String name=list.getSelectedItem();Font
12、 f=new Font(name,Font.PLAIN,15);area.setFont(f);文本编辑器要实现对字体的设置,我选用了GraphicsEnvironment对象调用String getAvailableFontFamilyNames()方法,该方法可以获取计算机上所有可用的字体名称,并存放到字符串数组中。4)字形,字体大小部分else if(e.getSource()=item8) /设置字形(常规,倾斜,加粗)Font font=area.getFont(); int style=font.getStyle();style=style0; area.setFont(new F
13、ont(,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 font=area.getFont();int style=font.getStyle();style=style1; area.setFont(new Font(,style,font.getSize(
14、);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=font.getStyle(); area.setFont(new Font(font.getName(),style,24);else if(e.getSource()=item13)Font f
15、ont=area.getFont();int style=font.getStyle(); area.setFont(new Font(font.getName(),style,36);5)剪切,复制,粘贴部分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
16、actionPerformed(ActionEvent e) else if(e.getSource()=item2) area.cut();else if(e.getSource()=item3)area.copy();else if(e.getSource()=item4)area.paste(); 文本编辑器中关于剪切,复制,粘贴功能的实现我选用处理JTextArea的DocumentEvent事件,通过area.cut(),area.copy(),area.paste()方法,点击“编辑”中相应菜单项可以选择将文本区中选中的内容剪切,复制,粘贴。6) 帮助中关于主题部分else if(
17、e.getSource()=item6)zhuti zt=new zhuti();class zhuti extends Frame implements ActionListenerButton btn;Label lab;zhuti()setLayout(null);btn=new Button(确定); lab=new Label(这是一个简单的文本编辑器!);add(btn);add(lab);btn.addActionListener(this);setBounds(200,200,250,150);setVisible(true);lab.setBounds(20 ,60,220,
18、30);lab.setFont(new Font(楷体,Font.BOLD,16);lab.setBackground(Color.cyan);btn.setBounds(100,100,50,30);btn.setBackground(Color.cyan);public void actionPerformed(ActionEvent e)if(e.getSource()=btn)dispose(); 对于帮助中关于主题部分的实现,我另构建了一个Frame框架,主要是由一个标签及一个按钮构成,由标签输出“这是一个简单的文本编辑器!”,按钮用dispose()方法实现退出功能。7)类图4课程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 文本 编辑器 27
限制150内