当前位置:   article > 正文

[计算机毕设]基于java的模拟写字板的设计与实现(项目报告+答辩PPT+源代码+数据库)_java毕业设计模板

java毕业设计模板

项目说明报告

基于Java的模拟写字板的设计与实现

目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并且涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此简易JAVA写字板程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,全选,撤销等多种基本功能。该程序主要用到了Java swing和事件监听等。

    模拟写字板;java语言;Java swing

目   录

摘要..................................................................................I

Abstract.................................................................................II

目录.................................................................................III

1 引言 .................................................................................1

1.1 选题依据 ................................................................................. 1

1.2 国内外发展现状................................................................................. 2

1.2 写字板信息检索................................................................................. 2

1.2.2 写字板信息提取................................................................................. 3

1.2.3 写字板信息过滤 .................................................................................3

1.3 课题研究目标.................................................................................4

1.4 编程语言的选择及特点..................................................................5

1.5 Java语言的发展 ................................................................................. 7

1.6 写字板学相关理论知识 ................................................................................. 8

1.7 功能设计 ................................................................................. 9

1.8 快捷键的设置 ................................................................................. 9

1.9 写字板分类 .................................................................................10

2 概要分析 ..................................................................................12

2.1 需求分析................................................................................. 12

2.2 概要设计思想 ................................................................................. 12

2.3 自定义类说明 ................................................................................. 13

2.4 程序运行界面解释 ................................................................................. 13

2.4.1 主界面实现 ................................................................................. 13

2.4.2 主模块的代码实现 ................................................................................. 14

2.4.3 文件模块的代码实现 ................................................................................. 15

2.4.4 编辑模块的代码实现 ................................................................................. 16

2.4.5 格式、帮助的实现 ................................................................................. 17

2.5 程序模块说明 ................................................................................. 18

2.6 流程图 ................................................................................. 19

2.7 程序相关说明 ................................................................................. 20

2.8 开发工具介绍 ................................................................................. 21

3 程序详细设计与分析 ................................................................................. 23

3.1 构建菜单栏及其下拉菜单 .............................................................................. 23

3.2 文件的事件监听 ................................................................................. 23

3.3 编辑、格式的事件监听 ................................................................................. 26

3.4 异常处理 ................................................................................. 27

4 测试分析 ................................................................................. 28

4.1 文件模块的测试 ................................................................................. 28

4.1.1 打开模块的测试 ................................................................................. 28

4.1.2 保存模块的测试 ................................................................................. 30

4.2 编辑模块的测试 ................................................................................. 31

4.3 格式模块的测试 ................................................................................. 31

4.4 程序异常处理 ................................................................................. 33

5 主要代码 ................................................................................. 35

6 结论 ................................................................................. 40

参考文献................................................................................. 42

致谢 ................................................................................. 43

1 引言

1.1 选题依据

什么是写字板?总的来说写字板就是可以是人们进行书写的一个模板,让人们将自己想说的话想做的事情能够在网路上进行描述和记录。 具体来说,是机器应用软件系统,建立了各种各样的写字板,如:机器翻译,自然模板理解,自动语音识别和综合,自动文本识别,计算机辅助教学,信息检索,

21世纪发展最快的是什么?是互联网!互联网的发展带给人们方便,因此,信息处理的重要性也逐渐突出,人们迫切的需要一款能处理数据和信息的应用软件,因此写字板在当中凸显了它的重要性。然而,对理论的发展和语言的复杂性限制,在中国的理论和方法,研究不能提供中文处理系统的开发和提供足够的支持。多年来,对国内的书写板,书写板处理和自然学科发展的特点是与实际系统中的应用研究发展目标都比较清楚,比较多的投资,也取得了一些成果;研究的基本理论和方法相对薄弱。研究现状和发展趋势,1998-2002年保持不变。在本文中,应用目标,本项目的研究重点是:写字板的文档,信息的检索,自动分类,自动的语音识别和综合,机器翻译,过滤。

1.2 国内外发展现状

    传统写字板的定义和范围相当普遍,常见的有常用的粉笔黑板,白板笔和塑料小黑板的儿童等。 随着科学技术的进步,很多学生或办公室的董事会都免费刷铅笔功能,低成本和环保,广州市温博实业有限公司研究员朱发表了文章说未来的教学设施,为了对科技进步和环保问题做出有利的解决,因此,使用写字板对黑板和粉笔进行逐渐的取代。

1.2.1 写字板信息检索

写字板当前很难解决统计语言模型和浅语法规则问题。所以,相比机器翻译,虽然信息处理板起步晚了很多年,但取得了较快的进步和应用效果。

关键字和布尔模型的检索类型是初期写字板运用的,他有很大的缺点,就是对于语言的处理能力非常低,虽然可以检测到信息,但成就差强人意。近年来,自然语言处理的检索技术的发展,达到了处理大的开放办公的能力。语言处理技术:自动分词、词频统计、识别“词”和“停止复杂短语的词“识别、名词和定义的词的类别特征采用基于董事会的价值计算概率的方法,确定搜索结果的相关度。同时,将自动分类还有自动文摘等技术引入检索系统中,使检索效率和准确性得到提高。特别是,在机器翻译的办公信息检索的组合,跨语言信息检索是由研究方向,即使用语言搜索其他语言的计算机检索,然后检索到的最终结果将会被翻译成为用户想翻译的语言。

1.2.2 写字板信息提取

写字板信息的提取与写字板信息检索之间是有差异的,它的目标不在于提供用户感兴趣的文件,而是提供结构化的信息,如数据库。因此,在更加多的自然语言处理技术的支持下,从写字板提取重要的信息,然后组织成结构化的形式,提供给用户以便使用。信息的抽取技术一般分为五大层次:第一是进行识别一些专有的名词,主要的人名、地名、货币等名词,以及日期、时间、号码、电子邮件地址和其他信息的识别和分类;二是模板元素(元素),即模板在搜索方法中的应用以及相关信息的识别,然后是通常的一元关系。第三是模板关系(模板),即模板法的操作、搜索,并确定一些具体名词与具体名词之间的关系,这个过程通常是二元之间的关系第四是共同参照,解决词板的代词指称问题。第五是模板模板,是在于应用目标中的必要的任务框架,对于一些特殊领域进行信息进识别和组织。

自传的研究是信息提取技术的基础上。在现有的自然书写板处理技术中,从词法分析、浅层句法分析、语义分析,到同一手指分析、概念结构、语用滤波,都可以应用于信息抽取系统中。比如,许多专有名词的提取都是需要对词汇进行分析和一些简单的识别的技术处理

1.2.3 写字板信息过滤

信息过滤是源于用户的一些需求与计算机从动态的一些信息流中达到检索信息在互联网上获取信息安全区域的必要要求(如根据描述,一些有害信息筛选或关闭的功能根据这些字符“)。书写板分类在给定的分类系统中,使用计算机根据书写板内容的某种特性进行分割和聚类,自动判断书写板类别,它不仅提供了具有大规模语料库的标准文档库,而且提出了一套科学的评价方法。近年来,中国大学和研究机构参与评价,在办公室对信息检索,自适应过滤和新信息提取等项目取得了较好的排名。

1.3 课题研究目标

    现在网络上类似于写字板程序是非常多的,功能也是错综复杂,有的一些可以改变字体,有的一些可以改变文字颜色。但是,这些软件又有各种各样的问题和一些瑕疵。通常的来看,写字板程序只需要拥有一些非常简单而且非常实用的基础功能就可以了。我做的这个毕业设计是按照这样的一个需要完成的一个简单的板程序。本程序使用java技术生产的平板电脑,包含一些简单的文本编辑功能,如:复制Ctrl + C,把Ctrl + X,Ctrl + V粘贴,设置字体。写字板仅仅能处理文本文件的,但是,由于一些格式源代码都是txt格式的,因此写字板也就逐渐成为了应用最多的文本编辑器。最为基本的功能是什么?那就是文本编辑,面板小巧使他拥有美好的外观,飞快的启动速度使人们赞美,内存的占用率低让人们非常喜爱,易使用打破年龄的界限,易上手。它的功能虽然不是高大上的编辑工具,但它仍然有自己独特的技能。另一项不可取代的功能是什么?是可以保存无格式文件。你想对什么格式进行保存?HTML?java?还是asp,它都能实现。有个窍门不知道知不知道,那就是开头输入LOG,会发生什么呢?他会自动记录打开的时间。

1.4 编程语言的选择及特点

    我选择JAVA语言,是因为JAVA语言有以下优点:

java语言的最大优点是实现跨平台。只需要编译,就可以在多个平台上运行。它易于在任何平台上运行,这使得系统的迁移和迁移非常容易。其他优点如下。

容易学习:我们用java可发的时候不由得会想到另一种语言——c语言,他们之间很相近,所以,许多学过c语言的程序员都可以轻松地学习和使用java来达到开发的目的。另一方面,Java抛弃了C ++的罕见,难以理解混乱的特点,如运算符重载,多继承和自动类型强制。当然,最重要的是,java语言不使用指针,而且是面向对象的,还提供类和接口,不过有个条件是支持在Dan Jicheng之间,但是多继承支持接口之间,类和接口机制之间的支撑。

    安全性:java语言不支持指针,只能通过对象实例来访问内存,使应用程序更安全。[2]

    可移植性[2]:这种可移植性来自中性架构,此外,Java还严格定义每个基本数据类型的长度。可移植性的?编译器属于java系统的是用什么实现的呢?用java实现,它的操作环境利用什么实现呢?ANSIC实现。目标技能和嵌入在平台中的API的全盘支撑使得Java应用具备极度强的操作性和可靠性,这也是的应用系统的维护成本的下降。

    多态性是当想要发送信息的时候,你可以有多种方法,如发qq消息,发邮件,这样就是根据不同的对象然后使用不同的行为完成信息发送(发送消息是一个函数调用)多态有很多优点。替代性(可替代性)。多态性对于现有代码是可替换的。比如,圆形Circle类多态性对可应用于任何其它圆形几何形状,例如环,以及工作。可扩展性(可扩展性)。多态性可以扩展到代码。添加新子类不会影响现有类的多态性、封装性和继承性。事实上,它更容易得到多态函数。多态是通过方法签名提供子类的通用接口的类,它改进或覆盖它。如图8.3所示。图super shape提供了两个多态接口方法computeArea()和computeVolume()。子类,如球体和圆,改善或覆盖两个接口方法实现多态。灵活性(灵活性)。它反映了灵活运行的应用,提高了使用效率。简化(简单)。这是特别重要的,以简化应用程序的廉价和修改过程的过程。利用dsn的好处还有,倘若移动数据库文件的位置,或换成另外类型的数据库,只须重新设定dsn便可,不需要批改原来形式的程序[10]

1.5 Java语言的发展

    java:对java编程语言和java平台,是由Sun公司推出的通用术语1995java语言是一种面向对象的编程语言,可以编写跨平台的应用程序,开发的詹姆斯·高斯林,谁对Sun微系统公司工作过,在上世纪90年代初,原名橡树。随着Internet的迅速崛起,对java语言的重要性也逐渐体现出来,慢慢成为一种重要的

编程语言。

    java以来,第一个版本诞生已经二十年了。时间若白马峡,流年。22年瞬息万变,JDK由原来的小男孩成长为一个巨人。Java语言的历史也有22年了,现在java版本也成长到了9

1.6 写字板学相关理论知识

写字板和学习的定义范围比较宽,粉笔写字,笔字,还是有些孩子使用平板电脑,可以定义为写字板程序,更常见的是常用的粉笔黑板,白板笔和一个孩子用塑料小黑板等。随着科学技术的进步,很多学生或办公室的董事会都免费刷铅笔功能,低成本和环保,广州市温博实业有限公司研究员朱发表了文章说未来的教学 设施。

作为电脑插件,写字板为USB接口,需要进行安装程序才可以使用,一般分为两部分,一支笔,一块板。 笔上有一个按钮,在指定的感应区域压在板子上,可以绘制艺术图形的记录,适合专业使用,办公连笔,水画练习。

1.7 功能设计

本程序是用来构建的程序是参照Windows操作系统下的写字板工具,功能如下:

1) 菜单有“文件”、“编辑”、“格式”、“帮助”等四个主菜单。

2) “文件”有“新建”、“打开”、“保存”、“另存为”、“退出”、“加载加密文件”、“保存加密文件”、“退出”8个菜单。

3) “编辑”、“撤消”剪切“复制”和“粘贴”选择所有“时间/日期”六个菜单:用于撤消、剪切、复制、粘贴。全部,插入日期\时间。

4) “格式”菜单中可以对自动换行进行设置,字体的大小和颜色亦可以设置,文档的背景也可以进行操作。

5) “帮助”菜单只是对写字板的描述和介绍。

1.8 快捷键的设置

本程序是在windows下写的板子程序和快捷键的使用程序。方便用户进行文字操作。

Ctrl+N 新建一个文档

Ctrl+O 打开一个文档

Ctrl+S 保存一个文档

Ctrl+L 另存一个文档

Ctrl+C 复制一个文档

Ctrl+X 剪切一个文档

Ctrl+V 粘贴一个文档

Ctrl+A 选择全部

Ctrl+Q 退出一个文档

1.9 写字板分类

随着计算机技术的发展,过去已经流行的平板电脑产品,近年来在功能和写作识别准确性上大大提高,越来越多的人选择平板电脑来取代传统的键盘和鼠标,尤其是一些老年消费者,对此类产品的需求。计算机输入是手写输入配置的,这里主要是手写板,就和现在手机上的手写功能,和键盘差不多。当然,只限于输入文字或绘画,还带有一些鼠标功能。钢笔或钢笔在某一特定区域。手写板可以通过在其上面活动的轨迹,然后进行文本识别。它也可以用于精确映射,如电路设计,CAD设计,图形设计,免费绘图,文本和数据输入。目前手写板,既有手写对汉字进行输入的,又有光标定位的。此外,平板电脑的价格差异也很大,从百元到几千元,可以根据自己的需要和经济条件做出合适的选择。

2 概要分析

2.1 需求分析

    "JAVA编程”经过对Java的全盘介绍,指导读者飞快的驾驭Java编程语言的核心编程内容,并进行学习和使用面向对象这个编程思想和知识的语言。"Java程序设计”分为9个章节,包括Java语言概述,面向对象编程,Java库和初步基本语法,数组,集合,常用的方法,图形用户界面编程深入,异常处理和输入输出,以及多线程编程。实践教学是一个重要的环节。一个计算机专业的学生非常有必要学习程序设计课程本课程,在"JAVA编程”课程中,JAVA编程的学习,全面,全面,目标和设计,是深化教学内容理论的理解和掌握,使学生掌握程序设计和网络的发展及其应用的基本方法和技能的学生,知识的综合利用,软件工程和软件开发,在实践的基础上打下坚实的基础。写字板可以根据文件中选择的相关文件进行文本显示的形式。可以实现对文件的新建、打开、编辑和删除等功能:模拟板可以根据文件本身的卷数实现滚动显示,并且还可以通过计算机的键盘来快速编辑文本本身等功能。

2.2 概要设计思想

JDK是一个面向初学者的开发工具。 在此过程中,设计一个菜单栏和剪贴板的内容。JMenu用于构建包含"文件”,"编辑”,"格式”,"帮助”的菜单。菜单项主要是用来建立子菜单。

2.3 程序运行界面解释

2.3.1 主界面实现

2.1写字板程序主界面

本程序主要是由记事本界面的构造函数,初始化容器的结构,得到组件,并添加事件监听器。容器初始化创建主面板,包括写入内容和菜单栏。

2.3.2 主模块的代码实现

    MenuBar menusBar;//菜单栏

MenuItem  open,keep,save,newfile,exit_out,about,text_font,colorchoose,back_choose,time_add,key_open,key_save,z_cancel,copy,pa_ste,cut,del,select_all,sear,auto_line;

       Menu fil,edi,forma,help;

MenuShortcut open_cut,dsave_cut,save_cut,newwork_cut,quit_cut,about_cut,fontchoose_cut,colorchoose_cut,backchoose_cut,timeadd_cut,keyopen_cut,keysave_cut,zcancel_cut,copy_cut,paste_cut,cut_cut,delete_cut,selectall_cut,search_cut,autoline_cut;

       Toolkit tool=this.getToolkit();

       Clipboard clip;//剪贴版

       Image image=tool.getImage("data/icon.jpg");//框架图标

       JTextArea textarea;//文本区域

       JDialog dialog,fontdialog,keydialog,searchdialog;

       JScrollPane listscroll,textscroll;

      GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();

       String fontname[]=ge.getAvailableFontFamilyNames();//字体库

       JLabel tip,fonttype,fontsize,searchtip,changetip;//提示

       file_dialog file_dialog;//输入输出对话框

       text text;//存储对象

       String opensource="";

       String texttype="宋体";

       String direct="";//保存路径

       String canceltext="";

       int size=18;//字体大小

       int para=0;//字体粗斜

       Font font=new Font(texttype,Font.PLAIN,size);

       Color fontcolor=Color.black;//字体颜色

       Color backcolor=Color.white;//背景颜色

       Date nowtime;

       char savemode1='s';

       char savemode2='t';//加密保存方式

       public SlNotepad(String title){

              this.setIconImage(image);//图标

              setTitle(title);//标题

              this.setResizable (true);

              this.setBackground (Color.cyan);

              this.setBounds (new Rectangle(150,100,800,550));

              this.addWindowListener(new WindowAdapter(){

                     public void windowClosing(WindowEvent e){

                            System.out.println("程序关闭");

                            System.exit(0);

                            }

            public void windowOpened(WindowEvent e){

                System.out.println("程序打开");

                }

            });

主模块包括菜单栏和文本区域。 菜单栏与JMenu实现,文本字段与文本实现,菜单栏,菜单栏,包括文件,编辑,格式,帮助。

该程序的主要模块相对简单,易于操作,对计算机硬件配置要求低,体积小,启动快,占地面积小,方便初学者使用,满足人们日常文本的基本处理。

2.3.3 文件模块的代码实现

2.2 文件模块代码

    部分代码

 public void save(){

       try{

              File_dialog=new file_dialog(this,"保存",file_dialog.SAVE);

              File_dialog.setVisible(true);

if(file_dialog.getDirectory()!=null && file_dialog.getFile()!=null){

OutputStreamWriter out=new OutputStreamWriter(new 

FileOutputStream(file_dialog.getDirectory()+file_dialog.getFile()));

          out.write(textarea.getText());

          out.close();

          opensource=textarea.getText();

          direct=file_dialog.getDirectory()+file_dialog.getFile();

         }

}catch(Exception e){

       System.out.println("Write error:"+e);

       JOptionPane.showMessageDialog(this,"写入错误",

"警告",JOptionPane.WARNING_MESSAGE);

    }

 }

    文件模块是写板的菜单栏中的主模块,主要用于操作整个存储或未保存的文档。 包括新建,打开,保存,另存为,启动新菜单以创建新的空文档,打开以打开或在电子文档存储,保存是将编辑后的书写板保存到固定位置,保存为保存编辑的写板 但是内容框可以继续编辑,退出退出WordPad程序。在打开,保存或保存操作时,可以打开,保存或保存各种文档格式,并且可以无格式存储,易于与其他文档转换软件一起使用,文档属性。

2.3.4 编辑模块的代码实现

2.3 编辑模块

   opencut=new MenuShortcut(KeyEvent.VK_O);

            open.setShortcut(opencut);

            dsavecut=new MenuShortcut(KeyEvent.VK_S);

            keep.setShortcut(dsavecut);

            savecut=new MenuShortcut(KeyEvent.VK_L);

            save.setShortcut(savecut);

            quitcut=new MenuShortcut(KeyEvent.VK_Q);

            exit_out.setShortcut(quitcut);

            fontchoosecut=new MenuShortcut(KeyEvent.VK_F);

            text_font.setShortcut(fontchoosecut);

            colorchoosecut=new MenuShortcut(KeyEvent.VK_Y);

            colorchoose.setShortcut(colorchoosecut);

            backchoosecut=new MenuShortcut(KeyEvent.VK_B);

            backchoose.setShortcut(backchoosecut);

            aboutcut=new MenuShortcut(KeyEvent.VK_H);

            about.setShortcut(aboutcut);

            timeaddcut=new MenuShortcut(KeyEvent.VK_F5);

            timeadd.setShortcut(timeaddcut);

            keyopencut=new MenuShortcut(KeyEvent.VK_P);

            keyopen.setShortcut(keyopencut);

            keysavecut=new MenuShortcut(KeyEvent.VK_K);

            keysave.setShortcut(keysavecut);

            copy_cut=new MenuShortcut(KeyEvent.VK_C);

            copy.setShortcut(copy_cut);

            paste_cut=new MenuShortcut(KeyEvent.VK_V);

            paste.setShortcut(paste_cut);

     cut_cut=new MenuShortcut(KeyEvent.VK_X);  

编辑模块是对文本内容的基本编辑,包括剪切,复制,粘贴,删除等 剪切是所选择的文档并且记录副本被剪切,所选择的文档重复记录,粘贴被剪切或复制记录的文档插入到指定位置,选择文档的所有内容被选择用于编辑操作以方便,删除被选择 去除文本。

2.4.5 帮助的实现

       public void about(){//关于

    JOptionPane.showMessageDialog(this,"\t写字板\n\t写字板这个程序可以帮助人们获得他们需要的信息在大量的文件","关于",JOptionPane.PLAIN_MESSAGE);

       }

帮助菜单是用来展示于写字板有关的一些信息。

2.5 程序模块说明

新建

打开

保存

另存为

剪切

复制

粘贴

全选

自动换行

字体

状态栏

关于写字板 

退出

时间日期

文件

编辑

格式

帮助

查看

Notepad

构造方法

初始容器

组件

添加事件监听

菜单栏

文字输入区

初始化

初始化

2.4 流程图

2.6 程序的相关说明

写字板的布局分为上下两个:分别是菜单栏和文本输入域。因此,我们首先定义一个JFrame类作为容器的底部来承载其他内容。

1)输入区域text

2)模块区域菜单栏。

3)如果想完成相对应的功能和需求,就得添加一些事件监听器。 不仅在菜单栏中,单击事件侦听器并侦听输入区域的内容,而且在容器中添加。写字板是在Windows XP系统环境下开发的,使用由JDK提供的SunJCreator软件。

2.7 开发工具介绍

MyEclipse是结合Eclipsejava,一个开放源代码的功能强大的工具,他解决了许多javaeclipse不能解决存在的问题和不足。NitroX是一个用来使java web能够实现敏捷开发的强大并且复杂的开发工具,MyEclipse还有一个强大的功能来对jsp文件和struts Web程序进行编译就和AppXRay一样。

MyEclipse是结合Eclipsejava,一个开放源代码的功能强大的工具,他解决了许多javaeclipse不能解决存在的问题和不足。

3 程序的详细设计与分析

3.1 构建菜单栏及其下拉菜单

JMenu files=new JMenu("文件(F)");

       JMenu edit=new JMenu("编辑(E)");

      JMenu formats=new JMenu("格式(O)");

       JMenu scan=new JMenu("查看(V)");

       JMenu help=new JMenu("帮助(H)");

       JMenuItem newFile=new JMenuItem("新建(N)");

       JMenuItem open=new JMenuItem("打开(O)...");

       JMenuItem save=new JMenuItem("保存(S)");

       JMenuItem saveAs=new JMenuItem("另存为(A)...");

       JMenuItem exit=new JMenuItem("退出(X)");

       JMenuItem undo=new JMenuItem("撤销(U)");

       JMenuItem cut=new JMenuItem("剪切(T)");

       JMenuItem paste=new JMenuItem("粘贴(P)");

       JMenuItem selectAll=new JMenuItem("全选(A)");

       JMenuItem timeDate=new JMenuItem("时间/日期(D)");

       JCheckBoxMenuItem lineWrap=new JCheckBoxMenuItem("自动换行(M)");

JMenuItem about=new JMenuItem("关于写字板  (A)");

    Notepad()方法初始化后构建菜单栏,菜单栏用到JMenu方法实现,菜单栏包括文件,编辑,格式,帮助,文件用file()方法实现,编辑用edit()方法实现,格式用format()方法实现,帮助用help()方法实现。文件模块包括一下几个部分如新建,打开,保存,另存为等。

3.2 文件事件监听

       public void valueChanged(ListSelectionEvent e){

              texttype=fontname[fontlist.getSelectedIndex()];

       }

       public void newwork(){

              if(!havesave){

                     Di_alog.setVisible(true);

              }else{

                     textarea.setText("");

                     direct="";

                     canceltext=textarea.getText()

                     }           

              opensource=textarea.getText();

       }

这个用于实现为文件操作事件监听器打开事件监听器侦听打开文件,当文

件选择正常打开打开文件时,当文件损坏或不存在时无法打开   

if(e.getSource()==newfile){

       this.judge();

       this.newwork();

}

if(e.getSource()==open){

       this.judge();

       this.open();

}

if(e.getSource()==keep){

       this.dsave();

}

if(e.getSource()==save){

       this.save();

}

if(e.getSource()==exit_out){

       this.judge();

       this.quit();

}

if(e.getSource()==keyopen){

       this.judge();

       this.keyopen();

}

if(e.getSource()==keysave){

       this.keysave();

}

if(e.getSource()==zcancel){

       this.zcancel();

}

if(e.getSource()==copy){

       this.copy();

}

if(e.getSource()==paste){

this.paste();

}

    文件事件用于检测模块的文件操作,例如当修改文档未保存时,通过事件监视,发现文档被保留,这提示用户保存文档,以符合退出的安全特性。

3.3 编辑事件监听

if(e.getSource()==copy){

       this.copy();

}

if(e.getSource()==paste){

       this.paste();

}

if(e.getSource()==cut){

       this.cut();

}

if(e.getSource()==search){

       Sear_chdialog.setVisible (true);

}

if(e.getSource()==searchok){

       this.search();

}

if(e.getSource()==searchcancel){

       Sear_chdialog. setVisible (false);

}

if(e.getSource()==changeok){

       this.change();

}

if(e.getSource()==changeall){

       this.changeall();

}

if(e.getSource()==delete){

       This.delete ();

    编辑的事件监听器用于监视文档的编辑操作,例如,当文档被复制或剪切时,所选择的文档被记录用于粘贴操作以修改文档。

3.4 异常处理

在程序代码的操作中很可能产生异常或异常事件,为了避免这种情况,您需要在程序中使用Java异常处理机制。 在这个程序中运用进行的异常处理机制是try_catch

try {

     UIM_anager .setLookAndFeel( UIM_anager.getSystemLookAndFeelClassName()

    }catch(Exception e){

             System .out .println(" Read error : "+e);

  JOptionPane.showMessageDialog (this,”读入错误”,"警告",JOptionPane.WARNING_MESSAGE);}

4 测试分析

4.1 文件模块的测试

文件模块功能可以直接在文本框中选择输入内容,由于打开可以直接导入,因此新功能的测试省略。

选择要打开的文件的功能模块,选择目录文件,单击文本框中显示的原文件的内容,测试用例是在java文件夹打开java桌面程序的源代码,完成后的运行,原代码显示在文本框中,选择退出可以直接从编辑器(保存)后面的测试模块进行编辑。

4.1.1 打开测试

选择文件,点击打开:

  4.1 写字板程序的打开选项

  启动程序,选择菜单栏中的文件选项,单击打开选项,或直接使用快捷键Ctrl + O,打开文件。

显示目录文件,选择要打开的文档,单击打开:

4.2 写字板程序的选择打开的文件

选择想打开的文件

    打开主界面,点击文件菜单打开选项,查找打开文件路径,选择打开文件。对文件打开可以打开多种的格式文档。

4.3 写字板程序的打开文件

文档的内容在文本区域进行显示。

4.4 写字板程序显示文本

4.1.2 保存测试

写字板的保存编辑后的书写板保存到固定位置,保存编辑后的书写板,但内容框可以继续编辑,在保存过程中,选择文件菜单保存选项,选择要保存文件以保存文件的地址。可以保存文档的格式,或者各种格式的文档。

4.5 写字板程序保存测试

4.2 编辑测试

在文本内容的任何部分选择一个步骤测试,选择“编辑剪切命令模块”,剪切选定的部分,然后选择剪切命令在剪切位置的发展,选择搜索选项并输入您查看文本的内容,如果找到要选择的字符选择阴影形式。

4.3 设置格式测试

4.6 大小颜色

字体大小可以直接设置为选择字体大小,或者单击增加和减少,调整字体大小,最小字体为数字5,最大字体为数字56.要设置字体大小 ,字体可以倾斜,也可以粗体,选择各种字体设置对设置

字体的颜色进行测试。

4.7 写字板程序的字体颜色的测试

测试设置背景的颜色。

4.8 写字板程序的背景颜色的测试

    要设置字体的颜色,可以直接选择样品的颜色,需要更改颜色,而样品颜色则保留最近使用的颜色。 可以改变4种数据的调色板,4种颜色匹配方法是HSV(H),HSL(L),RGB(G),CMYK。

4.4 程序的异常处理

程序中列出了发生异常时不会输出的情况级处理的方法。

      public void open(){

              if(!havesave){

                     dialog.setVisible(true);

              }try{

                     file_dialog=new file_dialog(this,"打开",file_dialog.LOAD);

                     file_dialog.setVisible(true);

                     if(file_dialog.getDirectory()!=null && file_dialog.getFile()!=null){

                            BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(file_dialog.getDirectory()+file_dialog.getFile())));

                            String temp="";

                            String now=(String)in.readLine();

                            while(now!=null){

                                   temp+=now+"\r"+"\n";

                                   now=(String)in.readLine();

                            }

                            textarea.setText(temp);

                            in.close();

                            opensource=temp;

                            direct=file_dialog.getDirectory()+file_dialog.getFile();

                            canceltext=textarea.getText();

                     }

        }catch(Exception e){

             System. out. println("Retune_error:"+e);

             JOptionPane.showMessageDialog (this," 读入错误"," 警告",JOptionPane.WARNING_MESSAGE);

        }

       }

       public void dsave(){

              if(direct==""){

                     this.save();

              }

              else if(direct!="null" && direct!="nullnull"){

                     try{

                            OutputStreamWriter out=new OutputStreamWriter(new FileOutputStream(direct));

                            out.write(textarea.getText());

                            out.close();

                            opensource=textarea.getText();

                     }catch(Exception e){

                            System.out.println("Write error:"+e);

                            JOptionPane.showMessageDialog(this,"写入错误","警告",JOptionPane.WARNING_MESSAGE);

                     }

              }

       

5 主要代码

    主代码列在板上实现主要功能的源代码,主要功能的板结构:板编辑器(模拟实现Windows板程序)Notepad.java仿真Windows板程序,准备一块板。

            menusBar=new MenuBar();

            file=new Menu("文件");

            edit=new Menu("编辑");

            format=new Menu("格式");

            help=new Menu("帮助");

            newfile=new MenuItem("新建");

            open=new MenuItem("打开");

            keep=new MenuItem("保存");

            save=new MenuItem("另存为");

            exit_out=new MenuItem("退出");

            zcancel=new MenuItem("撤销");

            copy=new MenuItem("复制");

            paste=new MenuItem("粘贴");

            cut=new MenuItem("剪切");

            delete=new MenuItem("删除");

            selectall=new MenuItem("全选");

            search=new MenuItem("搜索/替換");

            timeadd=new MenuItem("时间/日期");

            autoline=new MenuItem("自动换行");

            about=new MenuItem("关于");

            keyopen=new MenuItem("载入加密文件");

      

)");

退出时用exit()方法来实现。字体集使用font()方法,时间和日期显示使用timeDate()方法,lineWrap方法用于实现自动行。 帮助菜单包括关于书写板的选择,板的显示等的信息。使用about()方法的功能来实现。

    public SlNotepad(String title){

              this.setIconImage(image);//图标

              setTitle(title);//标题

              this.setResizable(true);

              this.setBackground(Color.cyan);

              this.setBounds(new Rectangle(150,100,800,550));

              this.addWindowListener(new WindowAdapter(){

                     public void windowClosing(WindowEvent e){

                            System.out.println("程序关闭");

                            System.exit(0);

                            }

            public void windowOpened(WindowEvent e){

                System.out.println("程序打开");

                }

            });

节目子菜单在中间实现初始化和初始化过程的源代码,如一个特定特征尺寸的格式。该程序界面的显示屏幕上,一般的管理功能,如初始化列表放置额外的控制,攻丝事件实现功能助记符。

            menusBar=new MenuBar();

            file=new Menu("文件");

            edit=new Menu("编辑");

            format=new Menu("格式");

            help=new Menu("帮助");

            newfile=new MenuItem("新建");

            open=new MenuItem("打开");

            keep=new MenuItem("保存");

            save=new MenuItem("另存为");

            exit_out=new MenuItem("退出");

            zcancel=new MenuItem("撤销");

            copy=new MenuItem("复制");

            paste=new MenuItem("粘贴");

            delete=new MenuItem("删除");

            selectall=new MenuItem("全选");

            search=new MenuItem("搜索/替換");

            timeadd=new MenuItem("时间/日期");

            autoline=new MenuItem("自动换行");

            text_font=new MenuItem("字体格式...");

            about=new MenuItem("关于");

            keyopen=new MenuItem("载入加密文件")

源程序包括初始化程序接口格式事件监视器屏幕上添加快捷方式添加额外的控制助记符根据控制控件布局的初始化仍然实现正常功能打开一个文件操作丑闻监控的实现情况文件监视利用和保护添加存储系统接口匹配的事件出现了一些外部边界,搜索对话框(搜索),搜索对话框(改变)口令对话框,另存为对话框对话框,字体,字体类型。

    public void s_ecret(char c,char d){//加密

              char main[]=text.textmain.toCharArray();

              char key[]=text.keyword.toCharArray();

              for(int i = 0;i < main .length;i++){

                     main[i]=(char)(main[i]^a);

              }

              for(int i = 0;i < key .length;i++){

                     key[i]=(char)(key[i]^b);

              }

              Text.textmain = new String(main);

              Text.keyword = new String(key);

       }

       public void break_secret(char c,char d){//解码

              char main[]=text.textmain.toCharArray();

              char key[]=text.keyword.toCharArray();

              for(int i = 0;i < main.length;i++){

                     main[i]=(char)(main[i]^a);

              }

              for(int i = 0;i < key.length;i++){

                     key[i]=(char)(key[i]^b);

              }

              text.textmain=new String(main);

              text.keyword=new String(key);

       }

       public void copy(){

              String selection=textarea.getSelectedText();

              if (selection==null){}

              else{

                     StringSelection clipString=new StringSelection(selection);

                     clip.setContents ( clipString , clipString);

              }

       }

6 结论

我设计这个课程就是Java写字板,我看到了这么多的毕业设计的主题类似的问题和敌人,最后通过网络搜索信息,请选择一个主题,讨论与校友我决定设计目标和具体的实现方法,包括如何在开始的时候将JAVA想象成实际操作,我认为应该很简单,但是仔细分析和设计算法时发现和我没有想象那么简单。

自从JAVA的出现以来,凭借其在IT行业中被大量充分发挥的快速发展的优势,作为一种底层硬件独立的语言编译器,无处不在和计算平台的高级执行者,JAVA诞生了能力以各种语言一起连接到网络。Java作为的改变代表网络growth'm学习和生活的联系方式。他发展很快影响到人类社会,人类的网络时代。老版的写字板只能发送文字,图片,Java的出现了交互式页面,一场伟大的革命。设计互联网作为一个Java,写字板也可以写入其待机计划。

因为课程设计是一个话题,所以只有通过自己的努力,有什么不明白或者要求学生在网上收集一些信息,网上信息有很多缺陷,开始两天,感觉有很多地方需要检查信息,进度缓慢。

在剩下的一天里,从自己不断检查信息,请学生帮忙,但还是有很多问题存在。但是问题还是没有解决,改进的算法其实是怎么解决的,cudgel的思维,阅读了很多信息,有模块化设计的问题,通常使用都不熟悉,所以一定要参考很多数据。通过每一个自己的实践,发现知识有很多缺陷,如:应用算法和一些常用的类不熟悉,有人的力量有限,没有团队这么多权力,总是一方面事情在每个方面都不完美。程序不知道我改变了多少次,但仍然不足,感谢老师和学生的帮助。

你现在有了更深的理解,如果你不亲自实践,那么你永远不会有什么内在缺陷,有什么优点,只有通过这种做法才能成长,学习知识也更容易使用和掌握,也会使你的程序更简洁,发挥最好的性能。同时,我也深深体会到设计的过程中,我们必须严格和一丝不苟的态度,还有就是编程过程中,因为一个程序错误的单字母符号不止。

虽然有很多从酸,甜,苦,热让自己这些天,但非常可观。让我收获很多,只要自己的努力,就会富有成果。

完整的集让我意识到编程的艺术,在学习的过程中,使用Java,通过比较C / C ++的内容和以前,让我进一步巩固C / C ++的知识,更一般地,让我必须更新编程语言的知识。在设计,调试和修改的过程中,我在程序的设计和构建方面取得了很大的进展。同时,经过半年的不断学习和理解Java之后。在程序的设计和构建过程中,存在很多问题。最后,根据一些相关信息,经过与学生的讨论,程序改变了现在的方式。

通过多天的努力和导师的指导,我想做的程序已经逐步完成了。但是,仍然存在一些缺点,如小数据错误处理,异常数据处理,这些问题需要进一步改进。无论如何,这整个学期的课程,或学习新的编程语言语句:在Java语言的数据库系统研究进展知识,补充编程,调试技能。

参 考 文 献

[1]  张孝祥.Java就业培训教程[M].北京.清华出版社.2006.935-38.

[2]  赵生慧.Java与面向对象程序设计[M].高等教育出版社.2004.429-32.

[3]  姜利群.Java网络编程实例教程[M].清华,北交大出版社.2005.178-81.

[4]  李尊朝.Java语言程序设计[M].中国铁道出版社.2004.9121-126.

[5]  袁海燕.Java应用程序设计100[M].人民邮电出版社.2005.542-46.

[6]  薛为民.Java应用教程[M].清华,北交大出版社.2005.964-68.

[7]  耿祥义.Java课程设计[M].清华大学出版社.2004.242-77.

[8]  钟允中,陈建铭.Java入门[M].辽宁科学技术出版社.1997.1018-21.

[9]  耿祥义,张跃平.Java2实用教程[M].清华大学出版社.200414-51.

[10] 陈会安. PHP3.0网站架设彻底研究与IIS4/5[J].中国青年出版社.2001.

[11] Joshua Bloch.Effectice Java[M].piscataway.N.IEEE Press.200914-51.

[12] Craig wall.ryan Breidenbach.Spring In Action[M].Manning Pulication.200618-30.

[13] Bruce Eckel.thinking in JAVA[M].Upper saddle River Jersey.USAPrentice hall.200610-12.

[14] 张良华.Java完全手册(第七版)[M] .北京.电子工业出版社,200842-51.

[15] 杨晓燕,姜遇姬.Java程序设计教程[M].北京.人民邮电出版社,2006.166-75.

[16] 新华网.网络游戏产业的发展前景[N].http://news.xinhuanet.com.2004.06.11.

参考资料:

Java毕业设计174例,包含部署视频-CSDN博客

Java毕业设计——基于Java的模拟写字板的设计与实现(论文+答辩PPT+源代码+数据库).zip

基于java的模拟写字板系统毕业设计(项目报告+开题报告+答辩PPT+源代码+部署视频)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/500684
推荐阅读
相关标签
  

闽ICP备14008679号