编写jython脚本与编写cpython(标准python)脚本非常相似。你可以导入标准python模块和java包。例如,如果你想从abstract windows toolkit(awt)导出所有的类和包,你可以使用下面的代码:
fromjava.awt import *
jython有两种方法实现python序列和java数组之间的转换。第一种方法创建一个给定长度的java数组(填充0、空值或者其它适当的值)
fromjarray import zeros
a = zeros(10, 'b')
这句代码创建一个长度为10、以字节为单元的数组。
第二个方法把一个已经存在的python序列,例如一个列表,转换成对应的java数组,代码如下:
fromjarray import array
pa = ['p','y','t','h','o','n']#a list of characters
ja = array(pa, 'c')#an array of characters
一个简单的例子
作为一个例子,下面的代码演示了如何使用awt窗口操作库。你可以用jython解释器来运行这段脚本或者把它编译成java类文件。
from java.awt import *
from java.lang.system import *
class exitlistener(event.actionlistener):
def actionperformed(self, event):
exit(0)
class mainframe(frame):
def __init__(self):
self.menubar = menubar()
self.filemenu = menu("file")
self.exititem = menuitem("exit")
self.exititem.addactionlistener(exitlistener())
self.filemenu.add(self.exititem)
self.menubar.add(self.filemenu)
self.textarea = textarea()
self.setmenubar(self.menubar)
self.add(self.textarea, "center")
frame = mainframe()
frame.pack()
frame.setvisible(1)
这段代码的功能是提供一个非常简单(有一个exit菜单和一个文本框)的窗口。它还给exit菜单项实现一个actionlistener。
创建java字节代码(byte code)
你可以用jythoc的功能来编译下面的脚本,如下所示:
jythonc -c -a -d jythondemo.py
它将创建四个java库文件和一个java文件。
闽公网安备 35060202000074号