• 【毕业设计】基于java+swing的模拟写字板设计与实现(毕业论文+程序源码)——模拟写字板


    基于java+swing的模拟写字板设计与实现(毕业论文+程序源码)

    大家好,今天给大家介绍基于java+swing的模拟写字板设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

    文章目录:

    1、项目简介

    1. 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并且涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此简易JAVA写字板程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,全选,撤销等多种基本功能。该程序主要用到了Java swing和事件监听等。
    2. 此系统是使用Java语言实现简易写字板程序,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,全选,撤销等多种基本功能。本系统结构如下:
      (1)菜单栏:
      文件模块:要用于操作整个存储或未保存的文档,包括新建,打开,保存,另存为等功能;
      编辑模块:编辑模块是对文本内容的基本编辑,包括剪切,复制,粘贴,删除等功能;
      格式模块:用于对用户输入内容显示上的操作,包括换行,字体的相关设置等功能;
      帮助模块:帮助菜单是用来展示于写字板有关的一些信息;
      (2)文本区域:
      文本区域主要用来承载用户输入的主要内容;

    2、资源详情

    项目难度:中等难度
    适用场景:相关题目的毕业设计
    配套论文字数:10471个字
    包含内容:整套源码+完整毕业论文+答辩PPT+任务书+辅导视频+运行截图


    3、关键词:

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

    4、毕设简介:

    提示:以下为毕业设计的简略介绍,项目源码及完整毕业论文下载地址见文末。

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

    省略

    在本文中,应用目标,本项目的研究重点是:写字板的文档,信息的检索,自动分类,自动的语音识别和综合,机器翻译,过滤。

    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应用具备极度强的操作性和可靠性,这也是的应用系统的维护成本的下降。

    1.5 Java语言的发展
    java:对java编程语言和java平台,是由Sun公司推出的通用术语1995。java语言是一种面向对象的编程语言,可以编写跨平台的应用程序,开发的詹姆斯·高斯林,谁对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 退出一个文档

    2 概要分析
    2.1 需求分析
    省略

    写字板可以根据文件中选择的相关文件进行文本显示的形式。可以实现对文件的新建、打开、编辑和删除等功能:模拟板可以根据文件本身的卷数实现滚动显示,并且还可以通过计算机的键盘来快速编辑文本本身等功能。

    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("程序打开");
                	}
                });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    主模块包括菜单栏和文本区域。 菜单栏与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);
        }
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    文件模块是写板的菜单栏中的主模块,主要用于操作整个存储或未保存的文档。 包括新建,打开,保存,另存为,启动新菜单以创建新的空文档,打开以打开或在电子文档存储,保存是将编辑后的书写板保存到固定位置,保存为保存编辑的写板 但是内容框可以继续编辑,退出退出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);  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

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

    2.4.5 帮助的实现
    public void about(){//关于
    JOptionPane.showMessageDialog(this,“\t写字板\n\t写字板这个程序可以帮助人们获得他们需要的信息在大量的文件”,“关于”,JOptionPane.PLAIN_MESSAGE);
    }
    帮助菜单是用来展示于写字板有关的一些信息。

    2.5 程序模块说明

    在这里插入图片描述

    图2.4 流程图

    2.6 程序的相关说明
    写字板的布局分为上下两个:分别是菜单栏和文本输入域。因此,我们首先定义一个JFrame类作为容器的底部来承载其他内容。
    (1)输入区域text。
    (2)模块区域菜单栏。
    (3)如果想完成相对应的功能和需求,就得添加一些事件监听器。 不仅在菜单栏中,单击事件侦听器并侦听输入区域的内容,而且在容器中添加。写字板是在Windows XP系统环境下开发的,使用由JDK提供的Sun和JCreator软件。

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

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

    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)");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    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();
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这个用于实现为文件操作事件监听器打开事件监听器侦听打开文件,当文
    件选择正常打开打开文件时,当文件损坏或不存在时无法打开

    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();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

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

    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 ();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

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

    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);}
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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);
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    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("载入加密文件");
           
    )");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    退出时用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("程序打开");
                	}
                });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

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

      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("载入加密文件")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

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

       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);
    		}
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    6 结论
    省略

    参 考 文 献
    [1] 张孝祥.Java就业培训教程[M].北京.清华出版社.2006.9:35-38.
    [2] 赵生慧.Java与面向对象程序设计[M].高等教育出版社.2004.4:29-32.
    [3] 姜利群.Java网络编程实例教程[M].清华,北交大出版社.2005.1:78-81.
    [4] 李尊朝.Java语言程序设计[M].中国铁道出版社.2004.9:121-126.
    [5] 袁海燕.Java应用程序设计100例[M].人民邮电出版社.2005.5:42-46.
    [6] 薛为民.Java应用教程[M].清华,北交大出版社.2005.9:64-68.
    [7] 耿祥义.Java课程设计[M].清华大学出版社.2004.2:42-77.
    [8] 钟允中,陈建铭.Java入门[M].辽宁科学技术出版社.1997.10:18-21.
    [9] 耿祥义,张跃平.Java2实用教程[M].清华大学出版社.2004:14-51.
    [10] 陈会安. PHP3.0网站架设彻底研究与IIS4/5[J].中国青年出版社.2001.
    [11] Joshua Bloch.Effectice Java[M].piscataway.N.IEEE Press.2009:14-51.
    [12] Craig wall.ryan Breidenbach.Spring In Action[M].Manning Pulication.2006:18-30.
    [13] Bruce Eckel.thinking in JAVA[M].Upper saddle River Jersey.USAPrentice hall.2006:10-12.
    [14] 张良华.Java完全手册(第七版)[M] .北京.电子工业出版社,2008:42-51.
    [15] 杨晓燕,姜遇姬.Java程序设计教程[M].北京.人民邮电出版社,2006.1:66-75.
    [16] 新华网.网络游戏产业的发展前景[N].http://news.xinhuanet.com,.2004.06.11.

    致 谢
    省略


    5、源码下载:

    本项目源码及论文如下,有需要的朋友可以点击进行下载

  • 相关阅读:
    Java中快速掌握正则表达式
    Qt ListItem添加右键菜单
    RAID-6技术详解
    Build U-Boot(基于TI AM64)
    ARM 学习笔记3 STM32G4 定时器相关资料整理
    [附源码]Python计算机毕业设计Django计算机相关专业考研资料管理系统
    java教材订购系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
    5.Linux实操指令(帮助指令)
    Linux常见基本指令
    如何高效的开展app的性能测试?
  • 原文地址:https://blog.csdn.net/m0_66238867/article/details/125428816