
基于java实现的文本编辑器.doc
22页封面《Java 语言程序设计》 课程设计报告设计题目:设计题目: 制作一个文本编辑器制作一个文本编辑器 分分 院:院: 电电 信信 分分 院院 班班 级:级: 姓姓 名:名: 学学 号:号: 指导教师:指导教师: 黄建华黄建华 实验地点:实验地点: 三教机六三教机六 课设时间:课设时间: 2009-12-20————2009-12-25 二二 OO 九九 年年 十二十二 月月 二十五二十五 日日Java 语言程序设计课程设计报告1《 《Java 语语言程序言程序设计课设计课程程设计设计》 》目录目录 一、一、 设计思路设计思路…………………………………………………………………2…………………………………………………………………2二、二、 设计过程设计过程…………………………………………………………………3…………………………………………………………………3三、三、 测试结果测试结果…………………………………………………………………12…………………………………………………………………12四、四、 心得体会心得体会…………………………………………………………………13…………………………………………………………………13五、五、 程序代码程序代码…………………………………………………………………14…………………………………………………………………14Java 语言程序设计课程设计报告2一、一、设计思路设计思路(一)设计概念(一)设计概念要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器 要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架 结构等等问题。
现把我的设计思路简要介绍如下:1、明确设计要求 首先要创建了一个窗体,标题为“×××设计的文本编辑器” ,设计要求是要编辑文件和编 辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要 求当用户单击新建时就可以新建一个空白文档;当单击打开时可以从已有的目录下打开需 要打开的文本文件,在原有文件中可以选择要打开的文件;当单击保存时可以出现保存的 路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件 的下拉菜单在编辑菜单下的子菜单复制,可以进行对文本的复制在文本区内要求当单 击鼠标右键时可以弹出菜单,要求有两个子菜单为复制和字体,通过单击字体菜单可以实 现对字体改变而且在窗体的右上方有三个按钮可以实现最小化、最大化、和关闭而且 用户也可以根据自己的需要改变窗体的大小2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程序、包、方法、以及基本的 程序语言) (1)创建一个窗体,包括构造一个文本域为编辑器各种功能的实现提供一个伸展平台; (2)新建一个空的菜单条,然后添加菜单项(文件菜单和编辑菜单) ; (3)设计程序在菜单项下添加子菜单,文本菜单对应新建、打开、保存和退出,编辑菜单 包括的子菜单为复制和粘贴; (4)添加右键快捷弹出式菜单,包括复制、字体等菜单项。
3、上两步都完成以后,就进入程序的检测运行阶段即所谓的编译运行,看是否符合设计要 求,是否达到理想中的那种效果,在测验阶段,要一步一步完善自己的作品直至真正意义 上的完成整个设计过程Java 语言程序设计课程设计报告3(二)流程图(二)流程图新建打开 Open 保存 Save 退出 Exit复制 Copy 字体 大小复制 Copy 粘贴 Paste字体 颜色快捷菜单 编辑 Edit文件 File空的 菜单条文本域 TextArea窗体 Frame主方法 Main()公共类 Bjq粘贴 PasteJava 语言程序设计课程设计报告4二、设计过程二、设计过程1、、 功能介绍:功能介绍:通过记事本编辑器可以实现新建、打开、保存文本文件、以及退出;同时也有对字体的改变、对字的颜色的改变以及复制、粘贴等功能,根据自己的意愿改变窗体,实行对其的最小化、最大化、关闭等等2、设计步骤:、设计步骤:import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.print.*;import java.awt.datatransfer.*;import java.applet.*;import javax.swing.JColorChooser;import javax.swing.event.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.text.*;import javax.swing.colorchooser.*;引用两个包:javax、java、以及对应的方法(1)首先创建一个公共的类名为 Bjq为文本编辑器创建一个窗体并设计标题为:08 通信(2)班骆玉春设计的文本编辑器Bjq;并创建编辑器的文本域,具体代码如下;//设计标题Java 语言程序设计课程设计报告5JFrame f = new JFrame();f.setTitle(“08 通信(2)班骆玉春设计的文本编辑器 Bjq“);//构造文本域JTextArea aa = new JTextArea(““, 20, 50);//构造一个文本域(2)创建一个空的菜单条并添加两个菜单项(文件、编辑)JMenuBar cc = new JMenuBar();//创建一个空的菜单条//创建“文件“和“编辑“这两个菜单项JMenu file = new JMenu(“文件“);JMenu edit = new JMenu(“编辑“);(3)先设计一个匿名内部类,为文件、编辑菜单添加新建和其他下拉子菜单“新建”子菜单:创建 OpenL 类实现了 ActionLister 并实现其读取文件的功能以匿名内部类的形式创建菜单监听器这些代码的作用是实现对新建、保存、打开、退出、复制进行监听,// 实现文本文件的打开功能----即文件菜单下的子菜单“打开“class openL implements ActionListener {public void actionPerformed(ActionEvent e) {JFileChooser fc = new JFileChooser();int returnVal = fc.showDialog(Bjq.this, “打开“);“退出”子菜单://实现文本文件的退出功能----即文件菜单下的子菜单“退出“class exitL implements ActionListener {public void actionPerformed(ActionEvent e) {System.exit(0);}}//新建、保存、复制、粘贴与之相类似就不做说明(4)右键快捷菜单的字体子菜单的创建:字体包括字体的大小和字体的颜色等等Java 语言程序设计课程设计报告6// 设计字体大小class fontsize implements ActionListener {public void actionPerformed(ActionEvent e) {int n;String no;no=JOptionPane.showInputDialog(“请输入你想要的字体大小:“);n=Integer.parseInt(no);Font ft;ft=new Font(““,Font.BOLD,n);aa.setFont(ft);}}通过用户输入所需的字号的大小来调节字体大小以满足不同需要,// 设计字体颜色class fontcolor implements ActionListener {public void actionPerformed(ActionEvent e) {Color a=new Color(0,192,191);JColorChooser c=new JColorChooser();a=c.showDialog(Bjq.this, “颜色选择框“,a);aa.setForeground(a);}} (5)为鼠标创建监听器。
用于用鼠标点击右键时出现快捷菜单:复制、粘贴、字体大小、字体颜色popup = new JPopupMenu();JMenuItem copy = new JMenuItem(“复制“);JMenuItem word = new JMenuItem(“字体“);public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}Java 语言程序设计课程设计报告7public void mousePressed(MouseEvent e){}public void mouseReleased(MouseEvent e){}当单击右键时可以弹出复制、粘贴和字体菜单,实现功能,实现鼠标的控制来完成弹出菜单的操作6)为窗体添加监听器当用户按关闭按钮时就可以将窗口关闭,实现了对窗体的控制// 关闭窗口protected static final class appCloseL extends WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0);} f.setSize(800, 500);f.setVisible(true);(这两个代码是设计窗体的的大小和窗口的可见性。
)(7)设计 main 方法:为整个程序的开始提供了入口,public static void main(String args[]) {JFrame f = new JFrame();Bjq applet = new Bjq();f.setTitle(“08 通信(2)班骆玉春设计的文本编辑器 Bjq“);f.setBackground(Color.red);f.getContentPane().add(applet, BorderLayout.CENTER);f.addWindowListener(new appCloseL());f.setSize(800, 500);f.setVisible(true);f.pack();}为静态的主函数Java 语言程序设计课程设计报告8三、测试效果三、测试效果1:两个菜单项:文件和编辑的截图:2:编辑菜单以及子菜单的截图:Java 语言程序设计课程设计报告93:右键弹出快捷菜单的截图:4:新建并通过快捷键复制和设置字体颜色为红色的截图:Java 语言程序设计课程设计报告105:保存文件并从保存到的目录下打开文件的截图:Java 语言程序设计课程设计报告11Java 语言程序设计课程设计报告126:打开其他目录下的文件的截图:Java 语言程序设计课程设计报告137: 设置字体的大小和颜色的截图:四、设计体会四、设计体会Java 语言程序设计课程设计报告14Java 语言是很神奇的一门课程,我喜欢编程。
喜欢最后编完的一刹那的成功,自从我进了学校选择了通信专业后就更加喜欢了,更是备感 Java 的重要性,天天接触 Java 时,越来越着迷于它尤其是进行课程设计,我更加深刻体会到了 Java 的诡异,无法掌控, 最后的程序虽没有实现所有功能,但也可以运行了,这次课程设计中我独立完成了程序的绝 大多数部分,很开心。
