Java语言图形编程工具设计及应用
摘要本文研究了 Java语言图形编程工具的设计及应用以元建模机制为基础使用模型、视图及控制器的架构实现图形编程工具并且通过代码转换器的设计实现图形代码及文本代码两者的等价转换。将图形编程工具应用到实际编程中证明了本文中设计的图形编程工具能够满足实际的需求并且提高图形编程语言设计的效率增强了其可复用性及维护性
关键词Java语言图形编程工具设计应用
中图分类号TP3文献标识码A文章编号1674-67082017 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
HostKvm也发布了开年促销方案,针对香港国际和美国洛杉矶两个机房的VPS主机提供7折优惠码,其他机房业务提供8折优惠码。商家成立于2013年,提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。下面列出几款主机配置信息。美国洛杉矶套餐:美国 US-Plan1CPU:1core内存:2GB硬盘...
CloudCone商家在前面的文章中也有多次介绍,他们家的VPS主机还是蛮有特点的,和我们熟悉的DO、Linode、VuLTR商家很相似可以采用小时时间计费,如果我们不满意且不需要可以删除机器,这样就不扣费,如果希望用的时候再开通。唯独比较吐槽的就是他们家的产品太过于单一,一来是只有云服务器,而且是机房就唯一的MC机房。CloudCone 这次四周年促销活动期间,商家有新增独立服务器业务。同样的C...
DMIT怎么样?DMIT是一家美国主机商,主要提供KVM VPS、独立服务器等,主要提供香港CN2、洛杉矶CN2 GIA等KVM VPS,稳定性、网络都很不错。支持中文客服,可Paypal、支付宝付款。2020年推出的香港国际线路的KVM VPS,大带宽,适合中转落地使用。现在有永久9折优惠码:July-4-Lite-10OFF,季付及以上还有折扣,非 中国路由优化;AS4134,AS4837 均...