技术开发 频道

用Python创建Java类

  【IT168 技术文档】编写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文件。

0
相关文章