您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > java课程设计报告1
淮海工学院计算机工程学院课程设计报告设计名称:面向对象课程设计选题名称:文本编辑器的设计与实现姓名:学号:专业班级:计算机科学与技术D计算机101系(院):计算机工程学院设计时间:2012.6.11~2012.6.24设计地点:软件实验室、教室指导教师评语:签名:年月日成绩:面向对象课程设计报告第2页,共24页1.课程设计目的《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。2.课程设计任务与要求:设计任务:基本任务是使得学生通过课程设计掌握利用java进行底层的网络应用程序设计、多媒体应用设计、JDBC编程的基本方法,学会综合利用awt包和Swing组件包进行图形用户界面的设计,同时,对java的事件委托模型、异常处理机制、包和接口的概念及多线程技术有比较熟练的把握。设计要求:1、根据实现的功能,划分出合理的对象类,明确对象类间的关系。2、为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。3、编程简练,程序功能齐全,能正确运行。4、说明书、流程图要清楚。5、课题完成后必须按要求提交课程设计报告,格式规范,内容详实。3.课程设计说明书3.1用户需求分析在科学技术飞速发展的今天,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。应用JAVA技术实现学生学习实践是可行而必要的工作。在社会生活中我们经常需要用电脑编写一些文档来保存文件,本课程设计是运用了JAVA软件开发工具开发的应用软件。适合编写记录文件。训练学生灵活应用所学Java语言的基本知识,熟练的完成问题分析、算法设计、编写程序,求解出指定的问题;训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养严谨的科学态度和良好的工作作风;提高综合运用所学的理论知识和方法独立分析和解决问题的能力运行要求:由于本程序是运用JAVA语言编成的,所以首先必须在电脑上安装JAVA面向对象课程设计报告第3页,共24页虚拟机,并对环境变量进行设置。完成JAVA的环境设置后,在集成环境Eclipse中进行编程。3.2概要设计3.2.1相关类的设计图1Editor继承了JFrame类EditorPack();setLocatrion();setVisible();start();setFocusable();addKeyListrner();FrameaddImpl(Componentcomp,Objectconstraints,intindex)添加指定的子ComponentgetContentPane()返回此窗体的contentPane对象setLayout(LayoutManagermanager)设置LayoutManagersetJMenuBar(JMenuBarmenubar)设置此窗体的菜单栏setIconImage(Imageimage)setDefaultCloseOperation(intoperation)设置用户在此窗体上发起close时默认执行的操作设置此frame要显示在最小化图标中的图像remove(Componentcomp)从该容器中移除指定组件面向对象课程设计报告第4页,共24页图2是本设计中用到的JComponent及其扩展类的总括。JComponetJTextComponentJMenuBarJOptionPaneJToolBarJTreeJPanelJFileChooserJSplitpaneAbstratButtonJTabbedPaneJScrollPaneJButtonJMenuItemJMenuJTextArea面向对象课程设计报告第5页,共24页图3本图显示复制,粘贴,剪贴,动画的显示停止,启动,暂停事件继承ActionListener类ActionListeneractionPerformed(ActionEvente)发生操作时调用Act_StartFlashactionPerformed(ActionEventE_start)Act_StopFlashactionPerformed(ActionEventE_stop)Act_TimeractionPerformed(ActionEventE_time)Act_CopyactionPerformed(ActionEvente_ji9)Act_PasteactionPerformed(ActionEvente_ji11)Act_CutactionPerformed(ActionEvente_ji10)面向对象课程设计报告第6页,共24页图4FileChoose类继承了JFileChoose类;此文件选择器能够打开和保存文件3.3详细设计3.3.1.类或包的加载importjava.awt.*;importjava.awt.event.*;importjava.awt.datatransfer.*;importjavax.swing.*;importjava.io.*;importjava.lang.*;3.3.2.设计一个主类,变量的定义classNotepadextendsJFrame{privatefinalColorcolorvalues[]={Color.black,Color.blue,Color.red,Color.green};//定义颜色数组StringstyleNames[]={Bold,Italic};//定义风格数组StringfontNames[]={宋体,华文行楷,隶书};//字体数组String[]sizeString=newString[30];//字号数组int[]size=newint[30];//与字号数组对应的字号整数,用于设置文字大小privateJRadioButtonMenuItemcolorItems[],fonts[];privateJCheckBoxMenuItemstyleItems[];JFileChoosergetFileView()返回当前的文件视图getIcon(Filef)返回此文件或文件类型的图标,这取决于系统getName(Filef)返回文件名getSelectedFile()返回选中的文件setCurrentDirectory(Filedir)设置当前目录setDialogTitle(StringdialogTitle)设置显示在JFileChooser窗口标题栏的字符串FileChooserFilechooser();approveSelection();cancelSelection();面向对象课程设计报告第7页,共24页privateJTextAreadisplayText;//定义文本编辑区privateButtonGroupfontGroup,colorGroup;//字体组,跟字色组privateintstyle;//字体风格privateJScrollPanescroll;//为文本编辑区提供滚动条privateStringselectText=;//存放文本编辑区中选中的文本内容privateJComboBoxstyleBox,fontBox,sizeBox;//工具栏privateJPaneltoolPanel;//存放工具栏privateintrowNumber=0;privateFileDialogfd=newFileDialog(this);//setupGUI}3.3.3.文件部分操作功能的实现//粘贴的实现JMenuItempasteItem=newJMenuItem(粘贴(P));pasteItem.setMnemonic('P');editMenu.add(pasteItem);pasteItem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){intposition=displayText.getCaretPosition();//获得鼠标当前位置displayText.insert(selectText,position);//插入到鼠标当前位置}});editMenu.addSeparator();//加分隔线//替换的实现JMenuItemswapItem=newJMenuItem(替换(R)));swapItem.setMnemonic('R');editMenu.add(swapItem);swapItem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){JPanelswapPanel=newJPanel();JLabellookupLabel=newJLabel(要替换的内容);JTextFieldinputText=newJTextField(10);JLabelswapLabel=newJLabel(替换为:);JTextFieldchangetoText=newJTextField(10);swapPanel.add(lookupLabel);swapPanel.add(inputText);swapPanel.add(swapLabel);swapPanel.add(changetoText);JOptionPane.showMessageDialog(null,swapPanel);Stringtext=displayText.getText();//获得整个文本内容StringchangeText=text.replaceFirst(inputText.getText(),changetoText.getText());//获得替换后的内容displayText.setText(changeText);面向对象课程设计报告第8页,共24页}});//全部替换的实现JMenuItemaswapItem=newJMenuItem(全部替换(Q)));aswapItem.setMnemonic('Q');editMenu.add(aswapItem);aswapItem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){JPanelswapPanel=newJPanel();JLabellookupLabel=newJLabel(要替换的内容);JTextFieldinputText=newJTextField(10);JLabelswapLabel=newJLabel(替换为:);JTextFieldchangetoText=newJTextField(10);swapPanel.add(lookupLabel);swapPanel.add(inputText);swapPanel.add(swapLabel);swapPanel.add(changetoText);JOptionPane.showMessageDialog(null,swapPanel);Stringtext=displayText.getText();//获得整个文本内容StringchangeText=text.replaceAll(inputText.getText(),changetoText.getText());//获得替换后的内容displayText.setText(changeText);}});editMenu.add
本文标题:java课程设计报告1
链接地址:https://www.777doc.com/doc-2879104 .html