图形Java语言图形编程工具设计及应用

java编程工具  时间:2021-02-26  阅读:()

Java语言图形编程工具设计及应用

摘要本文研究了 Java语言图形编程工具的设计及应用以元建模机制为基础使用模型、视图及控制器的架构实现图形编程工具并且通过代码转换器的设计实现图形代码及文本代码两者的等价转换。将图形编程工具应用到实际编程中证明了本文中设计的图形编程工具能够满足实际的需求并且提高图形编程语言设计的效率增强了其可复用性及维护性

关键词Java语言图形编程工具设计应用

中图分类号TP3文献标识码A文章编号1674-67082017 181-0029-02

由于现在一些青少年过分沉迷于网络游戏中为了解决这一问题相关人员就研发了游戏机器人平台创新游戏的方式。用户能够根据平台对机器人进行编程使机器人能够代替自己玩游戏之后根据游戏结果修改程序之后继续游戏。但是部分青少年没有编程的概念和知识为了能够解决这个问题本文就设计了基于Java语言的图形编程工具以此将编程有效简化将重点放到通过逻辑图形实现功能的控制上避免深奥的语句编程实现娱乐及培养思维能力的目的

1

1 图形编程工具总体设计

根据机器人编程的特点本文将事件驱动编程与图形编程相结合从而便于开发人员发挥机器人的硬件能力缩短图形编程工具的研发周期

为了能够满足事件驱动与图形编程思想需求图形编程工具的总体设计主要包括以下步骤

其一定义事件库。用户事件及系统事件构成了事件库不同事件具有不同的触发模式。系统事件通过硬件中断所触发具有较快的响应速度。开发人员自定义用户事件以EzCAN协议数据包为基础通过软件触发

其二定义事件、动作等图形化表现形式。在定义事件库之后为了能够将事件类型与其他编程元素区分开来就要将其表现形式进行设计也就是图形化方案

其三定义动作函数库。动作函数库中具有控制机器人的函数开发人员直接调用算法和程序以此缩短开发时间提高系统执行速度

其四图形化界面操作设计。根据其三选择实现图形化编程平台设计图形化界面中的数据结构基于可维护性、扩展性及跨平台实现图形化界面操作

其五设计并实现图形编译系统。将图形化程序转换为二进制代码

2图形编辑器设计

2

通过MVC架构模型对图形编辑器进行设计通过应用程序的数据层、表现层和控制层实现图形编辑器的演化。 图形编辑器模型的主要目的就是实现软件处理过程中问题的抽象化并且将应用过程中的逻辑关系、核心数据和处理过程进行封装。视图的主要目的就是使用图形等方式将后台模型中的逻辑关系、数据和状态信息充分展现出来。控制器的作用就是实现用户在使用过程中能够操作编辑器并且协调模型和视图。图形编辑器设计的实现是通过Ecl ipse平台中的CEF插件进行的。以下对上述关键部分的设计进行详细分析

2.1视图的设计

实现图形方式编程就要使用图形符号那么就要使元模型中的语言元素变为图形符号并且通过前台实现图形代码的连接和组合将此形式相互联系成为视图图形。视图设计是扩充图形语言的抽象化过程通过使元模型中的基本元素成为对应的图形类还要使连接线、 圆形和矩形等图形符号成为程序代码和逻辑关系能够在前台以图形的方式为用户呈现。视图图形类还能够解决与图形编辑相关的问题比如尺寸的修改、组合的分离、移动等图形实施的操作

2.2模型的设计

设计模型的主要目的就是为了将图形代码中的核心数据和逻辑关系进行保存通过视图图形将图形代码结构、逻辑

3

及内容展示在前台中。在后台中编辑器要对视图图形创建对应的模型对象使其保存代码信息。编辑器创建的模型对象实质为元模型的基本要素对象设计模型就是以编码为基础实现元模型中的所有元素和元素之间的语法和语义

在元模型中添加管理监听器的机制能够使客户调用程序对模型对象进行操作从而对内部属性值进行修改那么模型对象也就会将修改的内容和类型都通知到监听器中。之后根据模型的变化进行相应的动作。比如用户通过属性编辑器改变条件语句的判断条件之后其内部变量Condition值也会发生相应变化通过监听器模型中的SET对象将Condition变量的值发送到监听器中

2.3控制器的设计

控制器的主要作用是协调视图及模型本文通过扩展和继承GEF中的EditPart类对控制器进行操作

2.3.1实现模型对象的监听

控制器作为内部模型对象中的一部分能够实现监听器的接口。当模型对象向控制器发送改变内部数据的命令的时候控制器就会根据改变之后的类型和内容创建另外一个视图。除了创建新视图之外控制器还能够将视图的位置、尺寸及连接等特性进行改变从而保证视图和模型能够对应。为了使控制器能够实现上述功能每个控制器都要根据自身需求实现视图的创建和更新

4

2.3.2编辑并为对应的模型对象反馈信息

控制器的功能主要是通过命令类和编辑策略类实现的。命令类主要包括对模型对象和内部属性进行更新的具体类就控制器来说要通过特定的需求和相对应的编辑策略类满足用户编辑的需求以此对后台模型的内部数据进行修改使编辑操作和模型数据相对应。编辑策略类在控制器的内部能够根据用户编辑视图的类型创建对应的命令类对象

2.3.3设计代码转换器

设计代码转换器的作用主要是通过图形编辑器后台中的模型对象以此获得全新的图形代码之后调用翻译部件自动生成文本代码最终使代码能够满足Java语言需求。其中翻译部件的主要功能就是实现翻译是以代码模板机制为基础进行的其主要思想就是通过对文本代码内容进行划分包括稳定的主体框架及变动的局部细节。前者表示代码模板后者是通过查询模型对象得到的

要使元模型中的语言元素能够具有对应的翻译部件比如IfElse元素它的翻译部件表示为IfElseCodeGen 使其通过次序把字符串中的if、空白符、左括号“  ”、判断条件字符串、右括号“  ”、左大括号“{”、 由trueSegment变量产生的语句块代码字符串、右大括号“}”、 “else”、左大括号“{”、由falseSegment量产生的语句块代码字符串、右大括号“}”写入到缓冲变量codeBuffer中在整个翻译结束之后

5

codeBuffer中的Java代码字符串与IfElse元素实例相对应

代码模块要求翻译部件根据设定好的步骤进行元素实例的查询之后根据设定好的位置、顺序和形式将文本代码写入到缓冲变量中

为了能够使本文中所设计的图形编程工具能够实际应用就将设计好的图像编程工具率先在游戏机器人中使用。用户可以根据此工具实现机器人的图像编程使机器人能够代替自己玩游戏。基于此可以得出本文中所设计的图形编程工具能够在现实中应用并且能够满足不同人群的需求还能够提高图形编程语言设计效率并且增强图形编辑器在使用过程中的可复用性及维护性。此图形编程工具也可以在其他语言编程设计过程中使用

3结论

本文主要研究了基于Java语言的图形编程工具的设计把纯文本语言转化为图形。与文本编程相比本文中所涉及的图形编程具有一定的优势比如界面生动形象人们理解起来更加方便使用起来较为简单在没有编程知识的基础上也能够使用不受年龄及技能掌握程度的限制方便了开发人员将抽象化的逻辑问题通过简洁的形式进行表示有效提高了程序设计的效率和质量

参考文献

[1]林信良.Spring2.0技术手册[M].北京电子工业出版

6

社 2007.

[2]美威尔德斯尼德等.SpringFramework 2[M].

7

pacificrack:$12/年-1G内存/1核/20gSSD/500g流量/1Gbps带宽

pacificrack在最新的7月促销里面增加了2个更加便宜的,一个月付1.5美元,一个年付12美元,带宽都是1Gbps。整个系列都是PR-M,也就是魔方的后台管理。2G内存起步的支持Windows 7、10、Server 2003\2008\2012\2016\2019以及常规版本的Linux!官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7月秒杀VP...

vdsina:俄罗斯VPS(datapro),6卢布/天,1G内存/1核(AMD EPYC 7742)/5gNVMe/10T流量

今天获得消息,vdsina上了AMD EPYC系列的VDS,性价比比较高,站长弄了一个,盲猜CPU是AMD EPYC 7B12(经过咨询,详细CPU型号是“EPYC 7742”)。vdsina,俄罗斯公司,2014年开始运作至今,在售卖多类型VPS和独立服务器,可供选择的有俄罗斯莫斯科datapro和荷兰Serverius数据中心。付款比较麻烦:信用卡、webmoney、比特币,不支持PayPal...

Hostodo:4款便宜美国vps七折优惠低至$13/年;NVMe阵列1Gbps带宽,免费DirectAdmin授权

hostodo怎么样?快到了7月4日美国独立日,hostodo现在推出了VPS大促销活动,提供4款Hostodo美国独立日活动便宜VPS,相当于7折,低至$13/年,续费同价。Hostodo美国独立日活动结束时间不定,活动机售完即止。Hostodo商家支持加密数字货币、信用卡、PayPal、支付宝、银联等付款。Hostodo美国独立日活动VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个...

java编程工具为你推荐
行业关键词机械行业最热门的关键词有哪些!!!怎么在qq空间里添加背景音乐怎么在QQ空间里免费添加背景音乐????镜像文件是什么什么叫镜像文件,作用是什么?中小企业信息化信息化为中小企业发展带来了哪些机遇彩信中心移动的彩信中心是?主页是?收不到彩信,怎么设置?保护气球气球保护液可以用什么来代替?ejb开发什么是EJB?它是干什么的?和JAVA,JSP有关系吗?他们各有什么特点和用途?网页打开很慢为什么我打开网页很慢系统分析员系统分析员的工作内容虚拟机软件下载谁有好用的虚拟机软件?
香港服务器租用 kvmla 256m内存 香港托管 Hello图床 免费个人网站申请 湖南服务器托管 ca4249 创梦 怎么测试下载速度 网站木马检测工具 hinet 世界测速 gtt 免费网页申请 shopex主机 上海电信测速 umax hosting24 塔式服务器 更多