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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

制作一个文本编辑器java课程设计报告.docx

1、制作一个文本编辑器java课程设计报告Java语言程序设计课程设计报告设计题目: 制作一个文本编辑器 分 院: 电 信 分 院 班 级: 姓 名: 学 号: 指导教师: 黄建华 实验地点: 三教机六 课设时间: 2009-12-202009-12-25 二OO九 年 十二 月 二十五 日Java语言程序设计课程设计 目录 一、 设计思路2二、 设计过程3三、 测试结果12四、 心得体会13五、 程序代码14一、 设计思路(一)设计概念要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架结构等

2、等问题。现把我的设计思路简要介绍如下:1、明确设计要求首先要创建了一个窗体,标题为“设计的文本编辑器”,设计要要编辑文件和编辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要求当用户单击新建时就可以新建一个空白文档;当单击打开时可以从已有的目录下打开需要打开的文本文件,在原有文件中可以选择要打开的文件;当单击保存时可以出现保存的路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件的下拉菜单。在编辑菜单下的子菜单复制,可以进行对文本的复制。在文本区要求当单击鼠标右键时可以弹出菜单,要求有两个子菜单为复制和字体,通过单击字体菜单可以实现对字体改

3、变。而且在窗体的右上方有三个按钮可以实现最小化、最大化、和关闭。而且用户也可以根据自己的需要改变窗体的大小。2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程序、包、方法、以及基本的程序语言)(1)创建一个窗体,包括构造一个文本域为编辑器各种功能的实现提供一个伸展平台;(2)新建一个空的菜单条,然后添加菜单项(文件菜单和编辑菜单);(3)设计程序在菜单项下添加子菜单,文本菜单对应新建、打开、保存和退出,编辑菜单包括的子菜单为复制和粘贴;(4)添加右键快捷弹出式菜单,包括复制、字体等菜单项。3、上两步都完成以后,就进入程序的检测运行阶段即所谓的编译运行,看是否符合设计要求,是否达到理想中的

4、那种效果,在测验阶段,要一步一步完善自己的作品直至真正意义上的完成整个设计过程。(二)流程图新建打开Open保存Save退出Exit复制Copy字体大小复制Copy粘贴Paste字体颜色快捷菜单编辑Edit文件File空的菜单条文本域TextArea窗体Frame主方法Main()公共类Bjq粘贴Paste二、设计过程1、 功能介绍:通过记事本编辑器可以实现新建、打开、保存文本文件、以及退出;同时也有对字体的改变、对字的颜色的改变以及复制、粘贴等功能,根据自己的意愿改变窗体,实行对其的最小化、最大化、关闭等等。2、设计步骤:import javax.swing.*;import javax.s

5、wing.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

6、、java、以及对应的方法 (1) 首先创建一个公共的类名为Bjq 为文本编辑器创建一个窗体并设计标题为:08通信(2)班骆玉春设计的文本编辑器Bjq;并创建编辑器的文本域,具体代码如下;/设计标题JFrame f = new JFrame();f.setTitle(08通信(2)班骆玉春设计的文本编辑器Bjq);/构造文本域JTextArea aa = new JTextArea(, 20, 50);/构造一个文本域(2) 创建一个空的菜单条并添加两个菜单项(文件、编辑)JMenuBar cc = new JMenuBar();/创建一个空的菜单条/创建文件和编辑这两个菜单项JMenu fi

7、le = new JMenu(文件);JMenu edit = new JMenu(编辑);(3) 先设计一个匿名部类,为文件、编辑菜单添加新建和其他下拉子菜单 “新建”子菜单:创建OpenL类实现了ActionLister并实现其读取文件的功能以匿名部类的形式创建菜单监听器这些代码的作用是实现对新建、保存、打开、退出、复制进行监听,/ 实现文本文件的打开功能-即文件菜单下的子菜单打开 class openL implements ActionListener public void actionPerformed(ActionEvent e) JFileChooser fc = new JF

8、ileChooser(); int returnVal = fc.showDialog(Bjq.this, 打开); “退出”子菜单: /实现文本文件的退出功能-即文件菜单下的子菜单退出 class exitL implements ActionListener public void actionPerformed(ActionEvent e) System.exit(0); /新建、保存、复制、粘贴与之相类似就不做说明(4) 右键快捷菜单的字体子菜单的创建:字体包括字体的大小和字体的颜色等等 / 设计字体大小 class fontsize implements ActionListener

9、 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(ActionE

10、vent 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(Mous

11、eEvent e) public void mouseExited(MouseEvent e) public void mousePressed(MouseEvent e)public void mouseReleased(MouseEvent e)当单击右键时可以弹出复制、粘贴和字体菜单,实现功能,实现鼠标的控制来完成弹出菜单的操作。(6)为窗体添加监听器当用户按关闭按钮时就可以将窗口关闭,实现了对窗体的控制。/ 关闭窗口 protected static final class appCloseL extends WindowAdapter public void windowClosin

12、g(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(appl

13、et, BorderLayout.CENTER); f.addWindowListener(new appCloseL(); f.setSize(800, 500); f.setVisible(true); f.pack(); 为静态的主函数。三、测试效果1:两个菜单项:文件和编辑的截图:2:编辑菜单以及子菜单的截图:3:右键弹出快捷菜单的截图:4:新建并通过快捷键复制和设置字体颜色为红色的截图:5:保存文件并从保存到的目录下打开文件的截图:6:打开其他目录下的文件的截图:7: 设置字体的大小和颜色的截图:四、设计体会Java语言是很神奇的一门课程,我喜欢编程。喜欢最后编完的一刹那的成功,自从

14、我进了学校选择了通信专业后就更加喜欢了,更是备感Java的重要性,天天接触Java时,越来越着迷于它。尤其是进行课程设计,我更加深刻体会到了Java的诡异,无法掌控,最后的程序虽没有实现所有功能,但也可以运行了,这次课程设计中我独立完成了程序的绝大多数部分,很开心。不过有太多不会,总是蒙一些东西。有些一知半解的东西还是不了解,有些东西是会用了,但对其工作原理却很模糊。这些都是以后在学Java用Java的路上需要解决的,Java的魅力真的让人着迷。在课程设计的过程我遇到了好多的麻烦,有些是自己的马虎,有些也是因为程序太长有时会出一些小的问题,都是自己不应该发生的。但有些是不可以避免的啊,所以说我

15、们在进行Java课程设计的时候要认真仔细不要只图快,要认真每一个环节的输入,否则会给我们带来许多不必要的麻烦,因此要想做好一个好的完整的Java程序一定要有足够的耐心,只有这样你才会有好的结果,才会感觉到成功的喜悦,理解到认真和粗心的后果。总之,这次设计还是教了我很多,包括做人的道理,以及一些在平时生活中不可能遇见的一些问题,使我领略到一些人生道理,这些是在现实生活中难以解决的,下学期就要考二级,很想学好计算机,更想把Java掌握的更加熟练,因为它总能给我意外的收获,使我对人生有新的认识,让我感受到最后成功那一刻的美妙、开心!结语就用:“Java!”结束吧!是她给了我对计算机的进一步了解,我更

16、加热爱学习她了。附:源程序代码/Bjq.javaimport 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.*;

17、public class Bjq extends JPanel private JPopupMenu popupMenu = new JPopupMenu(); JTextArea aa = new JTextArea(, 20, 50);/构造一个文本域 JScrollPane bb = new JScrollPane(aa); JMenuBar cc = new JMenuBar();/创建一个空的菜单条 JMenu file = new JMenu(文件); /创建文件和编辑这两个菜单项 JMenu edit = new JMenu(编辑); / 菜单容 JMenuItem dd; /

18、实例化剪切板 Clipboard clipbd = getToolkit().getSystemClipboard(); / JMenu fileMenu; JPopupMenu jPopupMenuOne; JMenuItem openFile,closeFile,exit; JRadioButtonMenuItem copyFile,pasteFile; ButtonGroup buttonGroupOne; public Bjq() /新建一个部类 class newL implements ActionListener public void actionPerformed(Actio

19、nEvent e) aa.setDocument(new PlainDocument(); / 实现文本文件的打开功能-即文件菜单下的子菜单打开 class openL implements ActionListener public void actionPerformed(ActionEvent e) JFileChooser fc = new JFileChooser(); int returnVal = fc.showDialog(Bjq.this, 打开); if (returnVal = JFileChooser.APPROVE_OPTION) String file = fc.g

20、etSelectedFile().getPath(); if (file = null) return; / 读取文件 try Reader in = new FileReader(file); char buff = new char4096; int nch; while (nch = in.read(buff, 0, buff.length) != -1) aa.setDocument(new PlainDocument(); aa.append(new String(buff, 0, nch); catch (IOException io) System.err.println(IOE

21、xception: + io.getMessage(); else return; / 实现文本文件的保存功能-即文件菜单下的子菜单保存 class saveL implements ActionListener public void actionPerformed(ActionEvent e) JFileChooser fc = new JFileChooser(); int returnVal = fc.showSaveDialog(Bjq.this); if (returnVal = JFileChooser.APPROVE_OPTION) String savefile = fc.g

22、etSelectedFile().getPath(); if (savefile = null) return; else String docToSave = aa.getText(); if (docToSave != null) FileOutputStream fstrm = null; BufferedOutputStream ostrm = null; try fstrm = new FileOutputStream(savefile); ostrm = new BufferedOutputStream(fstrm); byte bytes = null; try bytes =

23、docToSave.getBytes(); catch (Exception e1) e1.printStackTrace(); ostrm.write(bytes); catch (IOException io) System.err.println(IOException: + io.getMessage(); finally try ostrm.flush(); fstrm.close(); ostrm.close(); catch (IOException ioe) System.err.println(IOException: + ioe.getMessage(); else ret

24、urn; /实现文本文件的退出功能-即文件菜单下的子菜单退出 class exitL implements ActionListener public void actionPerformed(ActionEvent e) System.exit(0); / 实现文本文件的粘贴功能-即编辑菜单下的子菜单粘贴 class copyL implements ActionListener public void actionPerformed(ActionEvent e) String selection = aa.getSelectedText(); StringSelection clipStr

25、ing = new StringSelection(selection); clipbd.setContents(clipString, clipString); / 粘贴 class pasteL implements ActionListener public void actionPerformed(ActionEvent e) Transferable clipData = clipbd.getContents(Bjq.this); try String clipString = (String) clipData .getTransferData(DataFlavor.stringF

26、lavor); aa.replaceRange(clipString, aa.getSelectionStart(), aa .getSelectionEnd(); catch (Exception ex) / 设计字体大小 class fontsize implements ActionListener public void actionPerformed(ActionEvent e) int n; String no; no=JOptionPane.showInputDialog(请输入你想要的字体大小:); n=Integer.parseInt(no); Font ft; ft=new

27、 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); / 注册一个事件监听器 class jtaL implements ActionListener public void actionPerformed(ActionEvent e) / /define popmenu 定

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

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