JavaScript解释器包含一种功能,允许JavaScript代码来查询和设置java对象中字段值以及调用java对象中的方法。另外,JavaScript公平可以自己创建一个java对象。来看一段代码:
//创建java对象
var frame = new Packages.javax.swing.JFrame("Hello World");
var button = new Packages.javax.swing.JButton("Hello World");
var font = new Packages.java.awt.Font("SansSerif",Packages.java.awt.Font.BOLD,24);
//调用java对象中的方法 和java中一样吧? :D
frame.add(button);
button.setFont(font);
frame.setSize(200,200);
frame.setVisible(true);
JavaScript解释器通过Packages全局变量来访问所有的java包。例如:
Packages.javax.awt是访问
javax.awt包,而
Packages.java.lang.System是访问
java.lang.System类。
另外,如果是java包,JavaScript解释器有一个专门访问java包的全局标记,可以不用
Packages了,这个全局标记就是
java,因此,上面的
Packages.java.lang.System可以直接写成
java.lang.System。除了java包,其它的包都要通过Packages全局标记来访问。
JavaScript之所以如此方便的使用java对象,是因为JavaScript解释器采用了一种LivaConnect技术。要理解
LiveConnect所使用的JavaScript数据类型。
一、
JavaPackage类:
JavaPackage是JavaScript的一种数据类型。java中的一个包存放着一组相关的java类,而一个JavaPackage类就表示了一个java包。JavaPackage的属性就是java包中所有的类,以及这个包中的所有子包。像java、javax包都是JavaPackage对象。
注:JavaPackage中的属性(即:类)是不可枚举的,所以无法用for/in循环查看包中的内容。
所有的JavaPackage对象都包含在一个父JavaPackage中。例:
Packages.java是一个
JavaPackage,它包含了
Packages.java.awt这个
JavaPackage.而
Packages.java.awt又包含了一个
Packages.java.awt.Button,这个是个具体类了,那它就不是一个
JavaPackage了,而是
JavaClass.(JavaClass是包中的类)。另外,
Packages.java.awt下还有个包
Packages.java.awt.image包。
从而看出,某个JavaPackage通常存在这种情况:
JavaPackage有两个缺点:
1、对于LiveConnect来说,没有办法提前分辨属性是类还是包,所以JavaScript先把属性当类来处理,如果找不到类,才按包来独步一时。这样导致了第二个缺点
2、如果写错了类名,JavaScript会把它当作一个包,而不是通知程序员类名不存在。
分享到:
相关推荐
本章首先介绍如何把JavaScript解释器嵌入到一个Java6应用程序中,以及如何从该应用程序运行JavaScript脚本。然后,回过头来展示这些脚本如何直接脚本化Java对象。我们还将在第23章再次回到Java脚本化的话题,第23章...
* 在Java中使用脚本语言JavaScript。 * * @author LeiWen@FansUnion.cn,http://FansUnion.cn, * http://blog.csdn.net/FansUnion * * QQ:240370818 参考资料:...
AI CC 2015 JavaScript脚本手册,用于学习编写JSX脚本,官方文档
Java applet调用c++ SSO登录javascript脚本开发教程
脚本手册大全 javascript大全 脚本 帮助你编写java脚本 浏览器脚本
实用的Javascript脚本 可以直接引用的好代码 呵呵
浅析页面中Java与JavaScript脚本的区别.pdf
强大的脚本(JavaScript)格式化工具
这是我个人总结并整理出来的 很值得收藏哦
用javascript编译的 计算器javascript脚本.html
《JavaScript脚本编程》实验《Java-Web程序设计》课程标准《Java-web程序设计》教案指导书
用纯javascript脚本写的一个俄罗斯方块
JX基于Java技术的Web应用开发四JavaScript脚本语言PPT教案学习.pptx
第12章 脚本化Java 第二部分 客户端JavaScript 第13章 Web浏览器中的JavaScript 第14章 脚本化浏览器窗口 第15章 脚本化文档 第16章 层叠样式表和动态HTML 第17章 事件和事件处理 第18章 表单...
第12章脚本化Java 第二部分客户端JavaScript 第13章Web浏览器中的JavaScript 第14章脚本化浏览器窗口 第15章脚本化文档 第16章层叠样式表和动态HTML 第17章事件和事件处理 第18章表单和表单元素 第19章cookie和...
本人精心收录的这些Java脚本特效 有菜单 鼠标 等等特效很全面希望对大家能有所帮助
常用的JavaScript脚本集合.doc
弹出DIV层窗口(javascript脚本代码)
编者按:JavaScript是由Netscape公司开发并随Navigator导航者一起发布的、介于Java与HTML之间、基于对象事件驱动的编程语言,正日益受到全球的关注。因它的开发环境简单,不需要Java编译器,而是直接运行在Web浏览器...
JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用...