在脚本中使用 Java 资源
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
javax.script 提供的最值得一提的功能就是可以在脚本中使用所有的 java 资源,由于 Java 语言已经发展的极为成熟,有大量可用的工具包可供使用,而很多情况下,限于 Java 语言本身的的功能限制,我们可能需要具有其他特征如动态性,弱类型,嵌套函数等脚本特 性,将两者结合起来,一方面使得编程工作更为有趣,更为高效快速,又不必担心代码的质 量或运行效率。 在 JDK6 中的脚本化框架中,我们可以在脚本中导入 Java 包,Java 类,实现 Java 接口(在下一小节中详细讨论),这给开发人员带来极大的便利,javax.script 提供了两个内置函数 importPackage 和 importClass 分别用以导入 Java 包和类。 比如下列语句:
importPackage(java.awt, java.awt.event)
importPackage(Packages.javax.swing)
importPackage(java.io)
importClass(java.lang.System)
我们来看一个小例子,通过导入 javax.swing 工具包,绘制一个小窗口:
importPackage(java.awt, java.awt.event);
importPackage(Packages.javax.swing);
(function(title){
var frame = new JFrame(title);
frame.setSize(300, 150);
var label = new JLabel("I'am a label");
frame.add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
})("Script frame");
得到下图这个小窗体:
图 JavaScript 通过 swing 绘制小窗体
在线练习
{$ activeFileHint $}