基于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公司推出的通用术语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 退出一个文档
    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 程序模块说明

图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(“粘贴§”);
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 写字板程序的打开文件
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统编程——生产者消费者模型

目录 一,模型介绍 1.1 预备知识(超市买东西的例子) 1.2 模型介绍 1.3 CP模型特点 二,基于阻塞队列的CP模型 2.1 介绍 2.2 阻塞队列的实现 2.3 主函数实现 2.4 效果展示 三,POSIX信号量 3.1 信号量原理 3…

力扣 快慢指针

1 环形链表 141. 环形链表 - 力扣(LeetCode) 定义两个指针,一快一慢。慢指针每次只移动一步,而快指针每次移动两步。初始时,慢指针和快指针都在位置 head,这样一来,如果在移动的过程中&#x…

05。拿捏ArkTS 第 3 天 --- 对象、联合类型、枚举

1,什么是对象?对象是干什么的? ~用来存储不同类型数据的容器 ~用来描述物体的特征和行为 //特征就是属性,行为就是方法(对象内的函数) 2,对象的基本样式是? …

Noah-MP陆面生态水文模拟与多源遥感数据同化技术

了解陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用;熟悉模型的发展历程,常见模型及各自特点;理解Noah-MP模型的原理,掌握Noah-MP模型在单站和区域的模拟、模拟结果的输出和后续分析及可视化等方法;…

OpenGL入门第六步:材质

目录 结果显示 材质介绍 函数解析 具体代码 结果显示 材质介绍 当描述一个表面时,我们可以分别为三个光照分量定义一个材质颜色(Material Color):环境光照(Ambient Lighting)、漫反射光照(Diffuse Lighting)和镜面光照(Specular Lighting)。通过为每…

23.jdk源码阅读之Thread(下)

1. 写在前面 上篇文章我们介绍了Tread的一些方法的底层代码实现&#xff0c;这篇文章我们继续。 2. join()方法的底层实现 /*** Waits at most {code millis} milliseconds for this thread to* die. A timeout of {code 0} means to wait forever.** <p> This impleme…

从工艺到性能:模具3D打印材料不断革新

在模具3D打印领域&#xff0c;材料性能的持续优化与创新是推动模具3D打印的关键因素&#xff0c;近年来&#xff0c;各种3D打印新材料不断涌现&#xff0c;模具3D打印材料也开始重工艺导向逐步向性能导向发展&#xff0c;如毅速公司推出的ESU-EM191/191S及ESU-EM201不锈钢粉末、…

电脑文件误删除如何恢复?数据恢复第一步是什么?这五点要第一时间处理!

电脑文件误删除如何恢复&#xff1f;数据删除恢复的第一时间要做什么&#xff0c;你知道吗&#xff1f; 在使用电脑的过程中&#xff0c;误删除重要文件的情况时有发生。面对这种情况&#xff0c;不必过于慌张&#xff0c;因为有多种方法可以帮助你恢复误删除的文件。以下是恢复…

网络通信---UDP

前两天做了个mplayer项目&#xff0c;今日继续学习 网络内容十分重要&#xff01;&#xff01;&#xff01; 1.OSI七层模型 应用层:要传输的数据信息&#xff0c;如文件传输&#xff0c;电子邮件等&#xff08;最接近用户&#xff0c;看传输的内容类型到底是什么&#xff09; …

【数据结构与算法】顺序表

顺序表 一.顺序表的原理1.是什么2.数据结构 二.顺序表的初始化三.顺序表增加元素四.顺序表插入元素五.顺序表删除元素六.顺序表的销毁七.总结 一.顺序表的原理 1.是什么 顺序表是一种线性的结构,类似于数组,但是中间不能有空值. 元素顺序地存储在一段连续的内存空间中. 顺序表…

单关节电机动力学辨识

这是一个单关节电机的动力学辨识过程&#xff0c;这是一个yaw轴转动电机的动力学辨识过程 1、动力学建模 &#xff08;1&#xff09;整体动力学 F J α f F J\alpha f FJαf 单关节的物理量包括惯性项、离心力和科氏力、摩擦力。这里忽略离心力和科氏力&#xff0c;据说…

SolidEdge二次开发(C#)-环境配置

文章目录 1、前言2、环境配置2.1 安装Solidworks20242.2 安装VS20222.3 查看Com组件2.3.1 在VS2022中创建一个wpf工程项目2.3.2 添加com组件 1、前言 SolidEdge是Siemens PLM Software公司旗下的三维CAD软件&#xff0c;采用Siemens PLM Software公司自己拥有专利的Parasolid作…

js动画插件-vue

分享一个动画插件 学习 动画插件 是进入大厂的必备技能 首先我们需要先学会 去使用js 动画 封装好的 GreenSock 动画平台 &#xff08;GSAP&#xff09; greensock.com/gsap/ 就是这个插件 我现在分享一个用例 其实很简单 但是 具体的属性 和很多 内容需要慢慢使用 慢慢看…

C++客户端Qt开发——系统相关(文件操作)

2.文件操作 ①输入输出设备类 在Qt中&#xff0c;文件读写的类为QFile。QFile的父类为QFileDevice,QFileDevice提供了文件交互操作的底层功能。QFileDevice的父类是QIODevice,QIODevice的父类为QObject。 QIODevice是Qt中所有输入输出设备(input/output device,简称I/O设备)…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 环形字符串最长子串(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

【React】useState:状态管理的基石

文章目录 一、什么是 useState&#xff1f;二、useState 的基本用法三、useState 的工作原理四、高级用法五、最佳实践 在现代前端开发中&#xff0c;React 是一个非常流行的库&#xff0c;而 useState 是 React 中最重要的 Hook 之一。useState 使得函数组件能够拥有自己的状态…

深入理解synchronized(简记)

深入理解synchronized 管程synchronized对象的内存布局锁状态记录锁对象状态转换偏向锁轻量级锁锁对象转换总结 管程synchronized Java 参考了 MESA 模型&#xff0c;语言内置的管程&#xff08;synchronized&#xff09;对 MESA 模型进行了精简。 对象的内存布局 对象头 Mar…

Nginx笔记(一)

一、Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 [13]&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点&#xff08;俄文&#xff1a;Рамблер&#xff09;开发的&#xff0c;公开版本1.…

如何在宝塔面板给域名配置 SSL 证书

首先需要有证书 这里以阿里云为例 1. 首先进入到 SSL 证书管理控制台 选择个人测试证书&#xff0c;并点击购买 免费的可以使用三个月。 购买完成之后回到控制台。 点击创建证书&#xff0c;将标红的地方填写&#xff0c;其他默认就好。 然后提交审核就行。 这里需要对域名…