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

news2024/11/20 5:28:04

点击下载链接

基于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.coloradmin.cn/o/1954642.html

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

相关文章

前端和Postman调用同一个接口,拿到的数据不一样

1、表现 联调一个List接口,Postman自测得到的ID和前端调用得到的ID,结果不一样。前者结果: 后者结果: 同一份代码、同一个数据库,出现这种错误,大概率是类型转换时出问题了,但检查代码发现&…

[工具] GitHub+Gridea+GitTalk 搭建个人免费博客

文章目录 起因GitHub创建个人仓库存主页创建用于Gridea连接的Token Gridea配置 GitTalk大功告成 起因 想要搭建自己的博客网站,又不想花钱买域名,也不会前端技术,只能求助于简单(傻逼式)且免费的博客搭建方式。偶然间看到这种方式&#xff0…

视频播放--vue3+西瓜播放器

西瓜播放器官网 实现方式非常简单,只需三步:安装、DOM占位、实例化即可完成播放器的使用 安装 npm install xgplayer 引入 import Player from "xgplayer"; import "xgplayer/dist/index.min.css"; 注意:一定要引入…

最新风车IM即时聊天源码及完整视频教程2024年7月版

堡塔面板 试验性Centos/Ubuntu/Debian安装命令 独立运行环境(py3.7) 可能存在少量兼容性问题 不断优化中 curl -sSO http://io.bt.sy/install/install_panel.sh && bash install_panel.sh 1.宝塔环境如下: Nginx 1.20 Tomcat 8 MySQL 8.0 R…

生物学家做不出 AlphaGO,但也在创造生命……

提到人造生命(Artificial Life),你会想到什么? 也许是希腊、玛雅、中国神话故事里的人造生物,亦或者是科幻电影里可以执行命令的机器人,也可能是这几年以 AlphaGo 为代表的人工智能技术(AI&…

【虚拟机】 VMware截图版详细安装教程

VMware-workstation-full-17.5.1-23298084 的安装,详细安装过程。 1.以管理员身份运行安装包 点击文件,右键打开,以管理员身份运行; 2.根据安装提示,重启电脑; (重启与否看自己电脑情况&…

【题解(c++)】「蓝桥·算法双周赛」第十五场分级赛——强者挑战赛

竞赛链接 目录 老君炼丹【算法赛】大意思路 拯救美猴王【算法赛】大意思路打卡蓝桥杯周赛! 老君炼丹【算法赛】 大意 有一个数组,每一次可以选择两个元素 a i , a i ≤ 0 a_i,a_i\le0 ai​,ai​≤0和一个 a j , a j ≥ 0 a_j,a_j\ge0 aj​,aj​≥0&am…

前端必知必会-html布局和响应式网页设计

文章目录 HTML 布局CSS 框架CSS 浮动布局CSS flex布局CSS 网格布局HTML 响应式网页设计设置viewport响应式图像使用 max-width 属性根据浏览器宽度显示不同的图像响应式文本大小媒体查询Bootstrap总结 HTML 布局 HTML5 有几个语义元素,它们定义网页的不同部分&#…

【Python系列】Python 中的垃圾收集:深入理解与实践

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

vue中使用Marked实现预览md文件(base64编码图片)

vue中使用Marked实现预览md文件(base64编码图片) 在上一篇vue-markdown实现预览md文件时,后端返回的图片格式是base64格式的,试了很多方法都不能显示,因此换成了marked插件进行预览,同时也支持显示大纲目录…

入门 PyQt6 看过来(案例)12~ 列表增删排序

本文介绍如何实现列表增加删除和排序的功能,效果如下: 1 页面设计 1.1 列表 #列表数据self.list [福宝, 萌兰, 金虎,蓝天]# 创建四行一列标准数据模型self.modeQStandardItemModel(4,1)# 将数据中的列表项作为标准数据模型输出for i in range(self.mod…

17.延迟队列

介绍 延迟队列,队列内部是有序的,延迟队列中的元素是希望在指定时间到了以后或之前取出和处理。 死信队列中,消息TTL过期的情况其实就是延迟队列。 使用场景 1.订单在十分钟内未支付则自动取消。 2.新创建的店铺,如果十天内没…

tomat 启动项目请求中文乱码 日志乱码

tomat 启动项目请求中文乱码 日志乱码 tomat 启动项目请求中文乱码 日志乱码检查tomcat编码检查项目编码检查服务器编码修改catalina.bat 测试 tomat 启动项目请求中文乱码 日志乱码 项目部署后 请求信息中文乱码 {""address":"娴嬭瘯", "Prov…

【Django】ajax和django接口交互(获取新密码)

文章目录 一、需求1. 效果图 二、实验1. 写get接口后端2. 写html后端3. 写前端4. 测试 一、需求 1. 效果图 二、实验 1. 写get接口后端 写views import string import random def getnewpwd(request):words list(string.ascii_lowercasestring.ascii_uppercasestring.digi…

C# form的移植工作

前言: 目标,将一个项目的form移植到新的工程下,且能够正确编译执行: 1 Copy form的两个文件到新工程下: 比如笔者的logo form 2 修改命名空间: 然后,找到新项目的主程序: 的命名…

Hive3:Hive初体验

1、创建表 CREATE TABLE test(id INT, name STRING, gender STRING);2、新增数据 INSERT INTO test VALUES(1, 王力红, 男); INSERT INTO test VALUES(2, 钉钉盯, 女); INSERT INTO test VALUES(3, 咔咔咔, 女);3、查询数据 简单查询 select * from test;带聚合函数的查询 …

vue2和el-input无法修改和写入,并且不报错

文章目录 一. 业务场景描述二. 原因分析三.解决方案3.1 方案一 原生标签(不建议)3.2 方案二 父子传递(不建议)3.3 方案三 vuex,pinia 状态传值(不建议)3.4 方案四 vue初始化属性 (建…

C语言程序设计之链表篇1

程序设计之链表1 链表问题1_1代码1_1结果1_1 问题1_2代码1_2结果1_2 问题1_3代码1_3结果1_3 链表 考查链表的数据结构,需利用指针变量才能实现,一个结点中应包含一个指针变量,用来存放下一个结点的地址。 建立单向链表的一般步骤是&a…

Ubuntu上安装anaconda创建虚拟环境(各种踩坑版)

之前都是在Windows桌面版进行深度学习的环境部署及训练,今天尝试了一下在Ubuntu上进行环境部署,踩了不少坑,提供一些解决办法给大家避雷。 目录 一、下载和安装anaconda 1. 下载 2. 安装 二、创建虚拟环境 一、下载和安装anaconda 1. …

项目管理工具-Maven

文章目录 Maven概述俩个经典的作用Maven 仓库 Maven 常用命令Maven 指令的生命周期Maven 的概念模型Maven 工程的认识 Maven概述 Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一…