图形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

久久网云-目前最便宜的国内,香港,美国,日本VPS云服务器19.9元/月起,三网CN2,2天内不满意可以更换其他机房机器,IP免费更换!。

久久网云怎么样?久久网云好不好?久久网云是一家成立于2017年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,久久网云目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港荃湾CN2弹性云服务器。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经验,遍布亚太地区的海量节点为...

麻花云:3折优惠,香港CN2安徽麻花云香港安徽移动BGP云服务器(大带宽)

麻花云在7月特意为主机测评用户群定制了促销活动:香港宽频CN2云服务器、安徽移动云服务器(BGP网络,非单线,效果更好)、安徽移动独立服务器、安徽电信独立服务器,全部不限制流量,自带一个IPv4,默认5Gbps的DDoS防御。活动链接:https://www.mhyun.net/act/zjcp特价云服务器不限流量,自带一个IPv4,5Gbps防御香港宽频CN2全固态Ⅲ型 4核4G【KVM】内存:...

iON Cloud:七月活动,洛杉矶CN2 GIA线路85折优惠中,价格偏高/机器稳定/更新优惠码

iON Cloud怎么样?iON Cloud是Krypt旗下的云服务器品牌,成立于2019年,是美国老牌机房(1998~)krypt旗下的VPS云服务器品牌,主打国外VPS云服务器业务,均采用KVM架构,整体性能配置较高,云服务器产品质量靠谱,在线率高,国内直连线路,适合建站等用途,支付宝、微信付款购买。支持Windows server 2012、2016、2019中英文版本以及主流Linux发行...

java编程工具为你推荐
可以发外链的论坛给几个可以发外链的论坛,还有分类信息网,不要有限制的哪种,收录不收录无所谓金山杀毒怎么样金山杀毒怎么样?照片转手绘如何把真人图片用photoshop做成手绘图片申请证书求高手教下怎么申请证书免费免费建站可以不用钱免费做一个网站吗iphone6上市时间苹果6什么时候在中国大陆上市电子商务网站模板我想开发一个电子商务网站,但是想加入自己设计的模板,可以吗?电子商务网站模板做电子商务网站用什么cms或者模版比较好?系统分析员系统分析员的工作内容系统分析员考系统分析员有什么好处?
韩国虚拟主机 域名系统 武汉域名注册 广州服务器租用 a5域名交易 singlehop pccw 韩国空间 最好看的qq空间 圣诞促销 河南m值兑换 共享主机 国外代理服务器软件 美国网站服务器 爱奇艺vip免费领取 微软服务器操作系统 流媒体加速 789 中国电信网络测速 中国linux 更多