我有这两个类:
public class JavaScriptObject extends ScriptableObject {
private int someInt;
public int jsGet_someInt()
{
return someInt;
}
public void jsSet_someInt(int value)
{
someInt = value;
}
@Override
public String getClassName()
{
return "JSO";
}
}
public class FunctionPool {
public JavaScriptObject getJso() {
return new JavaScriptObject();
}
}
我有这个脚本:
var jso = fp.getJso();
jso.someInt += 1;
var i = jso.someInt;
第二行和第三行不起作用。问题是jso对象不知道任何setter或getter,因此getter返回undefined而setter不做任何事情。如果我使用ScriptableObject.putProperty创建jso对象,它们也不起作用。它只有在我在脚本中创建它时才有效:
var jso = new JSO();
关于如何使其发挥作用的任何想法?