【问题标题】:LuaJ How to create instance of Java object in Lua script?LuaJ 如何在 Lua 脚本中创建 Java 对象的实例?
【发布时间】:2016-05-25 07:47:10
【问题描述】:

我有 Java 类:

class SomeClass{
 private int i;
 public SomeClass(int i){
  this.i = i;
 }
}

我需要使用 LuaJ 库在 Lua 脚本中创建此类的实例并将其传递给 Java 函数。我该怎么做?

【问题讨论】:

    标签: java lua luaj


    【解决方案1】:

    这是在 lua.org 上找到的一些示例代码:

    jframe = luajava.bindClass( "javax.swing.JFrame" )
    frame = luajava.newInstance( "javax.swing.JFrame", "Texts" );
    frame:setDefaultCloseOperation(jframe.EXIT_ON_CLOSE)
    frame:setSize(300,400)
    frame:setVisible(true)
    

    来源:http://www.luaj.org/luaj/3.0/README.html#luajava

    用你的例子,这应该转化为:

    local obj = luajava.newInstance("your.package.SomeClass",123)
    print(obj.i) --> nil -- Since it's a private field
    

    如果你有方法public int getValue(),你可以使用obj:getValue()

    我刚刚自己测试了这个,因为我很久没有测试了。

    【讨论】:

      猜你喜欢
      • 2016-04-29
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 2014-01-31
      • 1970-01-01
      相关资源
      最近更新 更多