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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(制作一个文本编辑器java课程设计报告.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

1、 制作一个文本编辑器java课程设计报告 32 2020年4月19日 文档仅供参考,不当之处,请联系改正。 《Java语言程序设计》 课程设计报告 设计题目: 制作一个文本编辑器 分 院: 电 信 分 院 班 级: 姓 名: 学 号:

2、 指导教师: 黄建华 实验地点: 三教机六 课设时间: -12-20—— -12-25 二OO九 年 十二 月 二十五 日 《Java语言程序设计课程设计》   目录 一、 设计思路…………………………………………………………………2 二、 设计过程…………………………………………………………………3 三、 测试结果…………………………………………………………………12 四、 心得体会…………………………………………………………………13

3、五、 程序代码…………………………………………………………………14 一、 设计思路 (一)设计概念 要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架结构等等问题。现把我的设计思路简要介绍如下: 1、明确设计要求 首先要创立了一个窗体,标题为“×××设计的文本编辑器”,设计要求是要编辑文件和编辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要求当用户单击新建时就能够新建一个空白文

4、档;当单击打开时能够从已有的目录下打开需要打开的文本文件,在原有文件中能够选择要打开的文件;当单击保存时能够出现保存的路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件的下拉菜单。在编辑菜单下的子菜单复制,能够进行对文本的复制。在文本区内要求当单击鼠标右键时能够弹出菜单,要求有两个子菜单为复制和字体,经过单击字体菜单能够实现对字体改变。而且在窗体的右上方有三个按钮能够实现最小化、最大化、和关闭。而且用户也能够根据自己的需要改变窗体的大小。 2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程序、包、方法、以及基本的程序语言) (1)创立一个窗体,包括构造

5、一个文本域为编辑器各种功能的实现提供一个伸展平台; (2)新建一个空的菜单条,然后添加菜单项(文件菜单和编辑菜单); (3)设计程序在菜单项下添加子菜单,文本菜单对应新建、打开、保存和退出,编辑菜单包括的子菜单为复制和粘贴; (4)添加右键快捷弹出式菜单,包括复制、字体等菜单项。 3、上两步都完成以后,就进入程序的检测运行阶段即所谓的编译运行,看是否符合设计要求,是否达到理想中的那种效果,在测验阶段,要一步一步完善自己的作品直至真正意义上的完成整个设计过程。 (二)流程图 新建 打开 Open 保存 Save 退出 Exit 复制

6、 Copy 字体大小 复制 Copy 粘贴 Paste 字体颜色 快捷菜单 编辑 Edit 文件 File 空的 菜单条 文本域 TextArea 窗体 Frame 主方法 Main() 公共类 Bjq 粘贴 Paste 二、设计过程 1、 功能介绍: 经过记事本编辑器能够实现新建、打开、保存文本文件、以及退出;同时也有对字体 的改变、对字的颜色的改变以及复制、粘贴等功能,根据自己的意愿改变窗体,实行对其的最小化、最大化、关闭等等。 2、设计步骤: import javax.swing.*; impor

7、t 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.s

8、wing.colorchooser.*; 引用两个包:javax、java、以及对应的方法 (1) 首先创立一个公共的类名为Bjq 为文本编辑器创立一个窗体并设计标题为:08通信(2)班骆玉春设计的文本编辑器Bjq;并创立编辑器的文本域,具体代码如下; //设计标题 JFrame f = new JFrame(); f.setTitle("08通信(2)班骆玉春设计的文本编辑器Bjq"); //构造文本域 JTextArea aa = new JTextArea("", 20, 50);//构造一个文本域 (2) 创立一个空的菜单条并添加两个菜单

9、项(文件、编辑) JMenuBar cc = new JMenuBar();//创立一个空的菜单条 //创立"文件"和"编辑"这两个菜单项 JMenu file = new JMenu("文件"); JMenu edit = new JMenu("编辑"); (3) 先设计一个匿名内部类,为文件、编辑菜单添加新建和其它下拉子菜单 “新建”子菜单:创立OpenL类实现了ActionLister并实现其读取文件的功能以匿名内部类的形式创立菜单监听器这些代码的作用是实现对新建、保存、打开、退出、复制进行监听, // 实现文本文件的打开功能----即文件菜单下的子菜单"打开"

10、 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 actio

11、nPerformed(ActionEvent e) { System.exit(0); } } //新建、保存、复制、粘贴与之相类似就不做说明 (4) 右键快捷菜单的字体子菜单的创立: 字体包括字体的大小和字体的颜色等等 // 设计字体大小 class fontsize implements ActionListener { public void actionPerformed(ActionEvent e) { int n; String no; no=JOptionPane.showInputDialog("请输入

12、你想要的字体大小:"); 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);

13、 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 vo

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

15、 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.setT

16、itle("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(); } 为静态的主函数。 三、测试效果 1:两个菜单项:文件和编辑的截图: 2:编辑菜单以及子菜单的截图: 3

17、右键弹出快捷菜单的截图: 4:新建并经过快捷键复制和设置字体颜色为红色的截图: 5:保存文件并从保存到的目录下打开文件的截图: 6:打开其它目录下的文件的截图: 7: 设置字体的大小和颜色的截图: 四、设计体会 Java语言是很神奇的一门课程,我喜欢编程。喜欢最后编完的一刹那的成功,自从 我进了学校选择了通信专业后就更加喜欢了,更是备感Java的重要性,天天接触Java时, 越来越着迷于它。特别是进行课程设计,我更加深刻体会到了Java的诡异,无法掌控,最 后的程序虽没有实现所有功能,但也能够运行了,这次课

18、程设计中我独立完成了程序的绝大 多数部分,很开心。不过有太多不会,总是蒙一些东西。有些一知半解的东西还是不了解, 有些东西是会用了,但对其工作原理却很模糊。这些都是以后在学Java用Java的路上需 要解决的,Java的魅力真的让人着迷。 在课程设计的过程我遇到了好多的麻烦,有些是自己的马虎,有些也是因为程序太长 有时会出一些小的问题,都是自己不应该发生的。但有些是不能够避免的啊,因此说我们在 进行Java课程设计的时候要认真仔细不要只图快,要认真每一个环节的输入,否则会给我 们带来许多不必要的麻烦,因此要想做好一个好的完整的Java程序一定要有足够的

19、耐心, 只有这样你才会有好的结果,才会感觉到成功的喜悦,理解到认真和粗心的后果。 总之,这次设计还是教了我很多,包括做人的道理,以及一些在平时生活中不可能遇 见的一些问题,使我领略到一些人生道理,这些是在现实生活中难以解决的,下学期就要考 二级,很想学好计算机,更想把Java掌握的更加熟练,因为它总能给我意外的收获,使我 对人生有新的认识,让我感受到最后成功那一刻的美妙、开心! 结语就用:“谢谢Java!”结束吧!是她给了我对计算机的进一步了解,我更加热爱 学习她了。 附:源程序代码 //Bjq.java import jav

20、a.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.*; public cla

21、ss 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("文件"); //创立"文件"和"编辑"这

22、两个菜单项 JMenu edit = new JMenu("编辑"); // 菜单内容 JMenuItem dd; // 实例化剪切板 Clipboard clipbd = getToolkit().getSystemClipboard(); /////// JMenu fileMenu; JPopupMenu jPopupMenuOne; JMenuItem openFile,closeFile,exit; JRadioButtonMenuItem copyFile,pasteFile; ButtonGroup buttonGroupOne;

23、 public Bjq() { //新建一个内部类 class newL implements ActionListener { public void actionPerformed(ActionEvent e) { aa.setDocument(new PlainDocument()); } } // 实现文本文件的打开功能----即文件菜单下的子菜单"打开" class openL implements ActionListener { public void actionPerformed(A

24、ctionEvent e) { JFileChooser fc = new JFileChooser(); int returnVal = fc.showDialog(Bjq.this, "打开"); if (returnVal == JFileChooser.APPROVE_OPTION) { String file = fc.getSelectedFile().getPath(); if (file == null) { return; } // 读取文件 try { Re

25、ader in = new FileReader(file); char[] buff = new char[4096]; 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.prin

26、tln("IOException: " + io.getMessage()); } } else { return; } } } // 实现文本文件的保存功能----即文件菜单下的子菜单"保存" class saveL implements ActionListener { public void actionPerformed(ActionEvent e) { JFileChooser fc = new JFileChooser(); int returnVal = fc.showSaveDia

27、log(Bjq.this); if (returnVal == JFileChooser.APPROVE_OPTION) { String savefile = fc.getSelectedFile().getPath(); if (savefile == null) { return; } else { String docToSave = aa.getText(); if (docToSave != null) { FileOutputStream fstrm = null;

28、 BufferedOutputStream ostrm = null; try { fstrm = new FileOutputStream(savefile); ostrm = new BufferedOutputStream(fstrm); byte[] bytes = null; try { bytes = docToSave.getBytes(); } catch (Exception e1) { e1.printStackTrace()

29、 } ostrm.write(bytes); } catch (IOException io) { System.err.println("IOException: " + io.getMessage()); } finally { try { ostrm.flush(); fstrm.close(); ostrm.close(); } catch (IOException ioe) {

30、 System.err.println("IOException: " + ioe.getMessage()); } } } } } else { return; } } } //实现文本文件的退出功能----即文件菜单下的子菜单"退出" class exitL implements ActionListener { public void actionPerformed(ActionEvent e) { System.

31、exit(0); } } // 实现文本文件的粘贴功能----即编辑菜单下的子菜单"粘贴" class copyL implements ActionListener { public void actionPerformed(ActionEvent e) { String selection = aa.getSelectedText(); StringSelection clipString = new StringSelection(selection); clipbd.setContents(clipString, clip

32、String); } } // 粘贴 class pasteL implements ActionListener { public void actionPerformed(ActionEvent e) { Transferable clipData = clipbd.getContents(Bjq.this); try { String clipString = (String) clipData .getTransferData(DataFlavor.stringFlavor); aa.re

33、placeRange(clipString, aa.getSelectionStart(), aa .getSelectionEnd()); } catch (Exception ex) { } } } // 设计字体大小 class fontsize implements ActionListener { public void actionPerformed(ActionEvent e) { int n; String no; no=JOptionPane.showInputDialog("

34、请输入你想要的字体大小:"); 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

35、new JColorChooser(); a=c.showDialog(Bjq.this, "颜色选择框",a); aa.setForeground(a); } } // 注册一个事件监听器 class jtaL implements ActionListener { public void actionPerformed(ActionEvent e) { } } // //define popmenu 定义弹出菜单 JMenuItem cut =

36、 new JMenuItem("粘贴"); JMenuItem FontSize = new JMenuItem("字体大小"); JMenuItem FontColor = new JMenuItem("字体颜色"); JMenuItem copy = new JMenuItem("复制"); popupMenu.add(copy); copy.addActionListener(new copyL()); popupMenu.add(cut); cut.addActionLis

37、tener(new pasteL()); popupMenu.add(FontSize); FontSize.addActionListener(new fontsize()); popupMenu.add(FontColor); FontColor.addActionListener(new fontcolor()); aa.addMouseListener(new MouseAdapter(){ public void mousePressed(MouseEvent e){c

38、heckForTriggerEvent(e);} public void mouseReleased(MouseEvent e){checkForTriggerEvent(e);} private void checkForTriggerEvent(MouseEvent e){ if(e.isPopupTrigger()) popupMenu.show(e.getComponent(),e.getX(),e.getY()); }

39、 }); //文本区添加快捷菜单 // 快捷键设置 file.add(dd = new JMenuItem("新建", KeyEvent.VK_N)); dd.addActionListener(new newL()); file.add(dd = new JMenuItem("打开", KeyEvent.VK_O)); dd.addActionListener(new openL()); file.add(dd = new JMenuItem("保存", KeyEvent.VK_S));

40、dd.addActionListener(new saveL()); file.add(dd = new JMenuItem("退出", KeyEvent.VK_X)); dd.addActionListener(new exitL()); edit.add(dd = new JMenuItem("复制", KeyEvent.VK_C)); dd.addActionListener(new copyL()); edit.add(dd = new JMenuItem("粘帖", KeyEvent.VK_P)); dd.addActionListener(n

41、ew pasteL()); dd.addActionListener(new fontsize()); dd.addActionListener(new fontcolor()); // 设置页面布局风格 setLayout(new BorderLayout()); file.setMnemonic(KeyEvent.VK_F); cc.add(file); edit.setMnemonic(KeyEvent.VK_E); cc.add(edit); cc.add(Box.createHorizontalGlue()); add(cc,

42、 BorderLayout.NORTH); add(bb, BorderLayout.SOUTH); aa.getCaret().setVisible(true); aa.setCaretPosition(0); } // 关闭窗口 protected static final class appCloseL extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } // 主函数,程序入口 public sta

43、tic 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(); } }

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服