我是(Java/C++/C#)的新手,我也懂Python。我试图用Java创建一个GameEngine,它可以调用Jython脚本,可以访问Java引擎中的方法。
我不知道如何处理这件事。我已经做了几周的研究,没有什么能回答我的问题;即:
如何从由父类执行的JythonScript调用父类中的方法?
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
好吧,这里的答案帮助我理解了一些事情,但并没有解决我的问题。我想知道的是这样的东西是否有效:
class MyJavaClass
{
Public MyJavaClass()
{
PythonInterpreter interp = new PythonInterpreter;
interp.execfile("MyJythonScript.py");
interp.exec("InGameCommand");
}
public void SpawnPlayer()
{}
public void KillPlayer()
{}
}
myjythonscript.py
Def InGameCommand():
SpawnPlayer()
KillPlayer()
这可能吗?有办法做到这一点吗?
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
到Jython的位置:“C:\jython2.7A2\jython.jar”到我的工作的位置:“C:\文档和设置\pc\desktop\jython*.java”到我的本地jtyhonjar的位置:“C:\文档和设置\pc\desktop\jython\jython.jar”
需要jython.jar
>
在Java中执行python代码。
import org.python.util.PythonInterpreter;
public class PythonScript{
public static void main(String args[]){
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("days=('One','Two','Three','Four'); ");
interpreter.exec("print days[1];");
}
}
在Java中调用python脚本方法。
def add(a, b):
return a + b
import org.python.core.PyFunction;
import org.python.core.PyInteger;
import org.python.core.PyObject;
import org.python.util.PythonInterpreter;
public class PythonScript {
public static void main(String args[]) {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("/home/XXX/XXX/test.py");
PyFunction pyFuntion = (PyFunction)interpreter.get("add",PyFunction.class);
int a = 10, b = 20 ;
PyObject pyobj = pyFuntion.__call__(new PyInteger(a), new PyInteger(b));
System.out.println("result = " + pyobj.toString());
}
}
number=[1,10,4,30,7,8,40]
print number
number.sort()
print number
import org.python.util.PythonInterpreter;
public class FirstJavaScript {
public static void main(String args[]) {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("/home/XXX/XXX/test.py");
}
}
我的Jython脚本调用了一些我用Java编写的代码(因为我更喜欢Java多线程)。现在,我需要从Java调用一个Jython方法(否则我必须用Java重写它)。 从Jython中驱动Java很容易,设置Java是主程序,Jython是从程序也很简单,但如何设置它以使它们能够相互调用并不明显。 官方文档包含了一篇关于这一切的非常长的文章:第10章:Jython和Java集成,这使得这项任务乍一看似
问题内容: 我在Java项目中使用Jython。 我有一个Java类:和一个Python类: Python文件如下: 现在的问题是我想从Java文件的方法调用Python文件的方法并打印结果。 问题答案: 如果我没看错文档,则可以使用以下功能: 或者,如果您想获取字符串: 如果要向其提供Java变量的某些输入,则可以预先使用,而不要在Python代码中使用该变量名:
问题内容: 我有一个具有称为的私有方法的类。我想从外面打电话。我认为应该可以反思,但是我得到了。有任何想法吗??? 问题答案: 利用使用其之前的Method对象的方法。
**抱歉,我对python和java都很陌生,所以我可能不认识到这已经得到了回答,只需要根据我的情况进行调整。 本质上,我有一个在python环境中运行的脚本管理器,我需要将数据传递给bonej插件进行分析,然后该插件将返回一个数组,另一个python脚本将使用该数组进行进一步分析。 我已经被引导到jython来实现这一点,但我不知道如何像导入模块一样导入imageJ。 我知道我可以简单地从命令行
问题内容: 我正在学习Java入门课程,我们才刚刚开始学习继承。我正在完成一项任务,要求我们创建一个具有名称和年龄的“宠物”超类。和三个子类,每个子类都有自己的独特特征(我选择了“狗”,“猫”和“鸟”)。构建完所有这些之后,我们将创建一个Main类来测试所有内容,这就是我遇到问题的地方。我试图在中调用这些独特特征的方法,但似乎只能找到超类中的方法。 这是主类: 这是我的超人 这是子类之一(它们看起
问题是: 我的问题是:我做错了什么?我如何修复事情以成功导入BuildingType接口?也许问题出在类路径上,但是我不知道哪个值是合适的。 代码组织: buildingType.java