首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPype -发布导入和调用方法!

JPype -发布导入和调用方法!
EN

Stack Overflow用户
提问于 2010-02-02 01:04:16
回答 2查看 1.9K关注 0票数 1

在这里我将我的代码附加到下面

代码语言:javascript
复制
from jpype import *
from javax.swing import JFrame

classpath = "-Djava.class.path=praat.jar" 
startJVM(getDefaultJVMPath(),"-ea",classpath) 

frame = javax.swing.JFrame("Hello JPype")
label = javax.swing.JLabel("Hello JPype!", JLabel.CENTER)
frame.add(label)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setSize(200, 100) 
frame.show()
shutdownJVM()

当我运行这个程序时,我得到一个错误。

代码语言:javascript
复制
    /Library/Python/2.6/site-packages/jpype/_pykeywords.py:18: DeprecationWarning: the sets module is deprecated
  import sets
2010-02-01 22:26:27.473 Python[754:d07] Apple AWT Java VM was loaded on first thread -- can't start AWT.
Traceback (most recent call last):
  File "swing.py", line 10, in <module>
    frame = javax.swing.JFrame("Hello Jython")
  File "/Library/Python/2.6/site-packages/jpype/_jpackage.py", line 53, in __call__
    raise TypeError, "Package "+self.__name+" is not Callable"
TypeError: Package javax.swing.JFrame is not Callable

有没有办法解决这个问题。一个普通的Hello World程序运行良好,但是当我尝试导入包时,我得到了类似的问题。

EN

回答 2

Stack Overflow用户

发布于 2010-02-02 01:46:52

将Java运行时库(rt.jar)添加到类路径中,然后重试。该错误表明,无法找到JFrame,但它在rt.jar中。

票数 1
EN

Stack Overflow用户

发布于 2010-02-02 06:31:28

如果将JFrame导入本地名称空间,请使用该名称空间而不使用完整名称空间:

代码语言:javascript
复制
frame = JFrame("Hello Jython")

与JLabel相同,但请记住先导入它。

要使用完整的名称空间,您需要使用import javax.swing而不是from javax.swing import JFrame

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2178532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档