欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    java课程设计报告.doc

    • 资源ID:60946336       资源大小:200KB        全文页数:24页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java课程设计报告.doc

    淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 面向对象课程设计 选题名称: 文本编辑器的设计与实现 姓 名: 学 号: 专业班级: 计算机科学与技术 D计算机101 系 (院): 计算机工程学院 设计时间: 2012.6.112012.6.24 设计地点: 软件实验室、教室 成绩:指导教师评语: 签名: 年 月 日1课程设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。2课程设计任务与要求: 设计任务:基本任务是使得学生通过课程设计掌握利用java进行底层的网络应用程序设计、多媒体应用设计、JDBC编程的基本方法,学会综合利用awt包和Swing组件包进行图形用户界面的设计,同时,对java的事件委托模型、异常处理机制、包和接口的概念及多线程技术有比较熟练的把握。 设计要求:1、根据实现的功能,划分出合理的对象类,明确对象类间的关系。 2、为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。 3、编程简练,程序功能齐全,能正确运行。 4、说明书、流程图要清楚。 5、课题完成后必须按要求提交课程设计报告,格式规范,内容详实。3课程设计说明书31用户需求分析 在科学技术飞速发展的今天,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。应用JAVA技术实现学生学习实践是可行而必要的工作 。在社会生活中我们经常需要用电脑编写一些文档来保存文件,本课程设计是运用了JAVA软件开发工具开发的应用软件。适合编写记录文件。 训练学生灵活应用所学Java语言的基本知识,熟练的完成问题分析、算法设计、编写程序,求解出指定的问题;训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养严谨的科学态度和良好的工作作风; 提高综合运用所学的理论知识和方法独立分析和解决问题的能力运行要求: 由于本程序是运用JAVA语言编成的,所以首先必须在电脑上安装JAVA虚拟机,并对环境变量进行设置。完成JAVA的环境设置后,在集成环境Eclipse中进行编程。 3.2概要设计3.2.1相关类的设计EditorPack ( );setLocatrion ( );setVisible ( );start ( );setFocusable ( );addKeyListrner ( );FrameaddImpl(Component comp,Object constraints, int index)   添加指定的子 ComponentgetContentPane() 返回此窗体的contentPane 对象setLayout(LayoutManager manager)设置 LayoutManagersetJMenuBar(JMenuBar menubar)  设置此窗体的菜单栏setIconImage(Image image)           setDefaultCloseOperation(int operation)设置用户在此窗体上发起 "close" 时默认执行的操作设置此 frame 要显示在最小化图标中的图像remove(Component comp)           从该容器中移除指定组件图1 Editor继承了JFrame类JComponetJTextComponentJMenuBarJOptionPane JToolBarJTreeJPanelJFileChooserJSplitpaneAbstratButtonJTabbedPaneJScrollPaneJButtonJMenuItemJMenuJTextArea图2 是本设计中用到的JComponent及其扩展类的总括。ActionListeneractionPerformed(ActionEvent e) 发生操作时调用Act_StartFlashactionPerformed(ActionEvent E_start)Act_StopFlashactionPerformed(ActionEvent E_stop)Act_TimeractionPerformed(ActionEvent E_time)Act_CopyactionPerformed(ActionEvent e_ji9)Act_PasteactionPerformed(ActionEvent e_ji11)Act_CutactionPerformed(ActionEvent e_ji10)图3 本图显示复制,粘贴,剪贴,动画的显示停止,启动,暂停事件继承ActionListener类JFileChoosergetFileView()           返回当前的文件视图getIcon(File f)        返回此文件或文件类型的图标,这取决于系统getName(File f)        返回文件名getSelectedFile()      返回选中的文件setCurrentDirectory(File dir)           设置当前目录setDialogTitle(String dialogTitle) 设置显示在 JFileChooser 窗口标题栏的字符串FileChooserFilechooser();approveSelection();cancelSelection();图4 FileChoose类继承了JFileChoose类;此文件选择器能够打开和保存文件3.3详细设计3.3.1类或包的加载import java.awt.*;import java.awt.event.*;import java.awt.datatransfer.*;import javax.swing.*;import java.io.*;import java.lang.*;3.3.2. 设计一个主类,变量的定义class Notepad extends JFrame private final Color colorvalues = Color.black, Color.blue, Color.red, Color.green ; /定义颜色数组 String styleNames = "Bold", "Italic" ;/定义风格数组 String fontNames = "宋体", "华文行楷", "隶书" ;/字体数组 String sizeString = new String30;/字号数组 int size = new int30;/与字号数组对应的字号整数,用于设置文字大小 private JRadioButtonMenuItem colorItems, fonts; private JCheckBoxMenuItem styleItems; private JTextArea displayText;/定义文本编辑区 private ButtonGroup fontGroup, colorGroup;/字体组,跟字色组 private int style;/字体风格 private JScrollPane scroll;/为文本编辑区提供滚动条 private String selectText = ""/存放文本编辑区中选中的文本内容 private JComboBox styleBox,fontBox,sizeBox;/工具栏 private JPanel toolPanel;/存放工具栏 private int rowNumber = 0; private FileDialog fd = new FileDialog(this); / set up GUI 3.3.3.文件部分操作功能的实现/粘贴的实现 JMenuItem pasteItem = new JMenuItem( "粘贴(P)" ); pasteItem.setMnemonic( 'P' ); editMenu.add( pasteItem ); pasteItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) int position = displayText.getCaretPosition();/获得鼠标当前位置 displayText.insert( selectText,position );/插入到鼠标当前位置 ); editMenu.addSeparator();/加分隔线 /替换的实现 JMenuItem swapItem = new JMenuItem( "替换(R))" ); swapItem.setMnemonic( 'R' ); editMenu.add( swapItem ); swapItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) JPanel swapPanel=new JPanel(); JLabel lookupLabel=new JLabel("要替换的内容"); JTextField inputText=new JTextField(10); JLabel swapLabel=new JLabel("替换为:"); JTextField changetoText=new JTextField(10); swapPanel.add(lookupLabel); swapPanel.add(inputText); swapPanel.add(swapLabel); swapPanel.add(changetoText); JOptionPane.showMessageDialog(null,swapPanel); String text=displayText.getText();/获得整个文本内容 String changeText=text.replaceFirst(inputText.getText(),changetoText.getText();/获得替换后的内容 displayText.setText(changeText); ); /全部替换的实现 JMenuItem aswapItem = new JMenuItem( "全部替换(Q))" ); aswapItem.setMnemonic( 'Q' ); editMenu.add( aswapItem ); aswapItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) JPanel swapPanel=new JPanel(); JLabel lookupLabel=new JLabel("要替换的内容"); JTextField inputText=new JTextField(10); JLabel swapLabel=new JLabel("替换为:"); JTextField changetoText=new JTextField(10); swapPanel.add(lookupLabel); swapPanel.add(inputText); swapPanel.add(swapLabel); swapPanel.add(changetoText); JOptionPane.showMessageDialog(null,swapPanel); String text=displayText.getText();/获得整个文本内容 String changeText=text.replaceAll(inputText.getText(),changetoText.getText();/获得替换后的内容 displayText.setText(changeText); ); editMenu.addSeparator();/加分隔线 /插入子菜单 JMenuItem insertItem=new JMenuItem("插入文本(K)"); insertItem.setMnemonic('K'); editMenu.add(insertItem); insertItem.addActionListener( new ActionListener() public void actionPerformed(ActionEvent 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.insert(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.getSelectionEnd(); displayText.replaceRange(null,start,end); ); editMenu.addSeparator(); bar.add( editMenu );/add editMenu3.4调试分析在创建主类时,不同的运行环境要求不同,就如在宿舍时public class Notepad extends JFrame运行程序是没有错误的但是在学校机房就有问题,把public去掉就可以运行了,并且没错误。3.5用户使用说明在JDK环境下打开netbeans新建常规项目,然后运行程序3.6测试结果图5 测试效果图3.7附录代码:import java.awt.*;import java.awt.event.*;import java.awt.datatransfer.*;import javax.swing.*;import java.io.*;import java.lang.*;class Notepad extends JFrame private final Color colorvalues = Color.black, Color.blue, Color.red, Color.green ; /定义颜色数组 String styleNames = "Bold", "Italic" ;/定义风格数组 String fontNames = "宋体", "华文行楷", "隶书" ;/字体数组 String sizeString = new String30;/字号数组 int size = new int30;/与字号数组对应的字号整数,用于设置文字大小 private JRadioButtonMenuItem colorItems, fonts; private JCheckBoxMenuItem styleItems; private JTextArea displayText;/定义文本编辑区 private ButtonGroup fontGroup, colorGroup;/字体组,跟字色组 private int style;/字体风格 private JScrollPane scroll;/为文本编辑区提供滚动条 private String selectText = ""/存放文本编辑区中选中的文本内容 private JComboBox styleBox,fontBox,sizeBox;/工具栏 private JPanel toolPanel;/存放工具栏 private int rowNumber = 0; private FileDialog fd = new FileDialog(this); / set up GUI public Notepad() super( "记事本" );/标题 /创建菜单条 JMenuBar bar = new JMenuBar(); setJMenuBar( bar ); /*-*/ / 设置文件菜单及其菜单项 JMenu fileMenu = new JMenu( "文件(F)" ); fileMenu.setMnemonic( 'F' ); / 设置新建菜单项 JMenuItem newItem = new JMenuItem( "新建(N)" ); newItem.setMnemonic( 'N' ); fileMenu.add( newItem ); newItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) displayText.setText(""); ); / 设置打开菜单项 JMenuItem openItem = new JMenuItem( "打开(O)" ); openItem.setMnemonic( 'O' ); fileMenu.add( openItem ); openItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) fd.setTitle("打开"); /设置标题 fd.show();if (fd.getFile() != null) File file = new File(fd.getFile(); /用从fd中取得的文件建立新文件,即打开的文件displayText.setText( "");try FileReader f = new FileReader(file);BufferedReader b = new BufferedReader(f);/按行读打开的文件,然后传入文本域String s;try while (s = b.readLine() != null) displayText.append(s + "n");/将给定文本追加到文本域的当前文本(即把读的内容加入文本域)f.close();b.close(); catch (IOException ex) catch (FileNotFoundException ex) else return; ); fileMenu.addSeparator(); /加分隔线 / 设置保存菜单项 JMenuItem saveItem = new JMenuItem( "保存(S)" ); saveItem.setMnemonic( 'S' ); fileMenu.add( saveItem ); saveItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) fd.setFile("*.java"); fd.setMode(FileDialog.SAVE);fd.setTitle("保存");fd.show(); if (fd.getFile() != null) File file = new File(fd.getFile();try PrintWriter pw = new PrintWriter(new FileOutputStream(file);/1.5版本之前用这一句,之后可以用PrintWriter pw = new PrintWriter(file);pw.print(displayText.getText();/这一部分用于把textArea1中的内容打印到pw指定的文件file中去,file围在对话框中选定的文件pw.flush(); /刷新该流的缓冲,然后关闭该流pw.close(); catch (FileNotFoundException ex) ex.printStackTrace(); else return; ); / 设置另存为菜单项 JMenuItem saveAsItem = new JMenuItem( "另存为(Z)" ); saveAsItem.setMnemonic( 'Z' ); fileMenu.add( saveAsItem ); saveAsItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) fd.setFile("*.java"); fd.setMode(FileDialog.SAVE);fd.setTitle("另存为");fd.show(); if (fd.getFile() != null) File file = new File(fd.getFile();try PrintWriter pw = new PrintWriter(new FileOutputStream(file);/1.5版本之前用这一句,之后可以用PrintWriter pw = new PrintWriter(file);pw.print(displayText.getText();/这一部分用于把textArea1中的内容打印到pw指定的文件file中去,file围在对话框中选定的文件pw.flush(); /刷新该流的缓冲,然后关闭该流pw.close(); catch (FileNotFoundException ex) ex.printStackTrace(); else return; ); fileMenu.addSeparator(); /加分隔线 / 设置退出菜单项 JMenuItem exitItem = new JMenuItem( "退出(X)" ); exitItem.setMnemonic( 'x' ); fileMenu.add( exitItem ); exitItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) System.exit( 0 ); );bar.add( fileMenu );/*-*/ /创建编辑菜单及其菜单项 JMenu editMenu = new JMenu( "编辑(E)" ); editMenu.setMnemonic( 'E' ); /剪切菜单选项 JMenuItem cutItem = new JMenuItem( "剪切(T)" ); cutItem.setMnemonic( 'T' ); editMenu.add( cutItem ); cutItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) selectText = displayText.getSelectedText();/取得选定的文本int start = displayText.getSelectionStart();/选定的文本的开始位置int end = displayText.getSelectionEnd();/选定的文本的结束位置displayText.replaceRange("", start, end);/*用指定替换文本替换指定开始位置与结束位置之间的文本。 这里指定替换文本为空,即为剪切了文本*/ ); /复制菜单选项 JMenuItem copyItem = new JMenuItem( "复制(C)" ); copyItem.setMnemonic( 'C' ); editMenu.add( copyItem ); copyItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) selectText = displayText.getSelectedText();/获得选中的内容,并保存在selectText里 ); /粘贴的实现 JMenuItem pasteItem = new JMenuItem( "粘贴(P)" ); pasteItem.setMnemonic( 'P' ); editMenu.add( pasteItem ); pasteItem.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) int position = displayText.getCaretPosition();/获得鼠标当前位置 displayText.insert( selectText,position );/插入到鼠标当前位置 ); editMenu.addSeparator();/加分隔线 /替换的实现 JMenuItem swapItem = new JMenuItem( "替换(R))" ); swapItem.setMnemonic( 'R' ); editMenu.add( swapItem ); swapItem.addActionListener( new ActionListener()

    注意事项

    本文(java课程设计报告.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开