- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学2008V01.35№.4B
Java
周兰江杨海明
(昆明理工大学信息工程与自动化学院 昆明650051)
摘要AWT包作为JavaAPI类库的一个重要组成部分,需要底层图形库的支持。为了嵌入式的Java平台能支持
完整的Java类库,本文通过对GNU
AwT包移植方案,并在ARM-Linux系统下给出详细的设计与实现步骤。测试结果表明,MiniGUI对JavaAWT有
良好的支持。
关键词GNUClasspath,JamVM,AWT,JNI,MiniG叭
1 引言
要用Java语言做嵌入式系统的应用开发,需先搭建一个
API类库组成。
Java平台。Java平台由Java虚拟机和Java
GNU
Classpath是一个开源的项目,它为开源的Java编译器
及运行环境提供一个完整且自由的Java类库。JamVM是一
个较新的Java虚拟机,它符合JVM规范第二版本。本文以
GNU
Classpath+JamVM的嵌入式Java平台为背景,论述了
GNU WindowToolkit,AWT)
Classpath里的AWT(Abstract
包在ARM-Linux系统的移植,A、胛包的移植需要底层图形
库的支持。GNUClasspath项目提供了调用GTK和QT底
层图形库的实现,但是由于G,n(库在嵌入式的应用比较少,
移植的难度较大,而QT存在体积较大和版本不兼容的问题,
因此从运行性能、效率和移植难度出发,选择MiniGUI作为
AWT调用的底层图形库。MiniGUI小巧、高效的特点正好图1 AWT与对等实体以及其他资源之间的层次关系
在一定程度上弥补Java在嵌入式应用中要占用较大存储空
特别注意的是对等实体只有在其相应的组件对象显示时
间、运行速度比C慢的缺陷。
才首次生成。当增加一个组件到一个不可见的容器时,这个
2 GNU AWT的实现方法分析 容器是没有对等实体的,只有在此容器第一次显示时,它的对
Classpath
等实体和它含的所有组件的对等实体才生成。但是当增加一
在GNUClasspath的设计中,AWT采用对等实体的方
个组件到一个可见的容器时,则需要由程序显式地告诉
Native
式,主要使用了JNI(JavaInterface)的技术。每一个
AWT生成一个组件的对等实体,这可以通过调用validate()
AwT组件都有一个相应的对等实体,对A、ⅣT组件的方法调
方法实现。此外,当一个事件产生时,对等实体首先对它进行
用最终导致对对等实体中相应方法的调用;从对等实体这一 处理,然后再通知AWT组件进行事件处理。
面来看,对它的调用也将转到对AWT组件的调用,比如事件
处理。当一个新建的AWT组件需要在屏幕上显示时,它首 3基于MiniGUl的AWT设计与实现步骤
先利用Toolkit类中的方法调用创建自己的对等实体,然后
3.1基于MiniGUI
AWl的设计
再利用对等实体的相应方法把图形界面显示出来。对AWT 在MiniGUI中已经包含了众多的控件,类似于AWT组
属性,比如字体、颜色等的设置最终也是由对等实体完成的, 件的功能,并且提供了相应的接口函数。因此,在具体实现
同时,这些信息也被AWT组件所记录。 AWT中的本地方法时,使用JNI把每一个AWT组件的实现
GNU
Classpath把对等实体组织在java.awlpeer软件交给MiniGU
文档评论(0)