Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPype-发行导入和;呼叫方法!_Java_Python - Fatal编程技术网

Java JPype-发行导入和;呼叫方法!

Java JPype-发行导入和;呼叫方法!,java,python,Java,Python,我在这里附上我的代码如下 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.CE

我在这里附上我的代码如下

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()
当我运行这个程序时,我得到一个错误

    /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
/Library/Python/2.6/site packages/jpype/_pykeywords.py:18:DeprecationWarning:sets模块已弃用
导入集
2010-02-01 22:26:27.473 Python[754:d07]Apple AWT Java虚拟机已加载到第一个线程--无法启动AWT。
回溯(最近一次呼叫最后一次):
文件“swing.py”,第10行,在
frame=javax.swing.JFrame(“你好,Jython”)
文件“/Library/Python/2.6/site packages/jpype/_jpackage.py”,第53行,在调用中__
raise TypeError,“包”+自身。\u名称+“不可调用”
TypeError:包javax.swing.JFrame不可调用

有没有办法解决这个问题。正常的Hello World程序工作正常,但当我尝试导入包时,会遇到类似问题。

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

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

内。如果将
JFrame
导入本地命名空间,请在不使用完整命名空间的情况下使用它:

frame = JFrame("Hello Jython")
与JLabel相同,但请记住首先导入它


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

如果将
JFrame
导入本地名称空间,请在不使用完整名称空间的情况下使用它:

frame = JFrame("Hello Jython")
与JLabel相同,但请记住首先导入它


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

,仔细想想,也许这根本不是您的问题,也许这根本不是您的问题,不幸的是,我尝试过这个,但它不起作用。我在Linux&a Mac系统上试过,它仍然抛出相同的错误:(不幸的是,我试过了,但它不起作用。我在Linux&a Mac系统上试过,它仍然抛出相同的错误:(