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

RackNerd 黑色星期五5款年付套餐

RackNerd 商家从2019年上线以来争议也是比较大的,一直低价促销很多网友都认为坚持时间不长可能会跑路。不过,目前看到RackNerd还是在坚持且这次黑五活动也有发布,且活动促销也是比较多的,不过对于我们用户来说选择这些低价服务商尽量的不要将长远项目放在上面,低价年付套餐服务商一般都是用来临时业务的。RackNerd商家这次发布黑五促销活动,一共有五款年付套餐,涉及到多个机房。最低年付的套餐...

gcorelabs:美国GPU服务器,8张RTX2080Ti,2*Silver-4214/256G内存/1T SSD/

gcorelabs提供美国阿什本数据中心的GPU服务器(显卡服务器),默认给8路RTX2080Ti,服务器网卡支持2*10Gbps(ANX),CPU为双路Silver-4214(24核48线程),256G内存,1Gbps独享带宽仅需150欧元、10bps带宽仅需600欧元,不限流量随便跑吧。 官方网站 :https://gcorelabs.com/hosting/dedicated/gpu/ ...

VoLLcloud6折限量,香港CMI云服务器三网直连-200M带宽

vollcloud LLC首次推出6折促销,本次促销福利主要感恩与回馈广大用户对于我们的信任与支持,我们将继续稳步前行,为广大用户们提供更好的产品和服务,另外,本次促销码共限制使用30个,个人不限购,用完活动结束,同时所有vps产品支持3日内无条件退款和提供免费试用。需要了解更多产品可前往官网查看!vollcloud优惠码:VoLLcloud终生6折促销码:Y5C0V7R0YW商品名称CPU内存S...

java编程工具为你推荐
cornerradiuscorner的用法深圳公交车路线深圳公交车路线天天酷跑刷积分教程天天酷跑积分怎么刷最快?工信部备案去国家工信部备案需要什么手续呢今日热点怎么删除今日热点怎么卸载删除 今日热点新闻彻底卸载删iphone越狱后怎么恢复苹果越狱后怎么恢复出厂设置godaddyGO DADDY服务器空间域名怎么样开机滚动条开机滚动条太多怎么办?机械键盘轴大家觉得机械键盘什么轴最舒服网站推广外链如何做网站推广 ,外链推广的方向在哪里?
免备案虚拟空间 国内vps 荷兰vps 光棍节日志 debian源 丹弗 panel1 最好的空间 元旦促销 韩国名字大全 服务器维护方案 hkg 刀片式服务器 新家坡 t云 支付宝扫码领红包 爱奇艺会员免费试用 韩国代理ip 石家庄服务器托管 wordpress中文主题 更多