【问题标题】:Creating a lua interface in java在java中创建一个lua接口
【发布时间】:2012-03-04 12:49:52
【问题描述】:

有没有一种方法可以让我在 java 中制作我的程序,但让所有插件都基于 lua?如何跨语言执行所有钩子等,我可以从 Java 访问函数等吗?我更喜欢在运行时完成,而不是让交叉编译器预先更改它。

【问题讨论】:

标签: java plugins lua


【解决方案1】:

另一种选择是LuaJava。它允许您在 Java 程序中使用 Lua 脚本。从字面上说在 Lua 中实现接口:

LuaJava 还允许 Java 使用 Lua 实现接口。这样任何接口都可以在 Lua 中实现并作为参数传递给任何方法,当被调用时,在 Lua 中将调用等效函数,并将结果传递回 Java。

这种实现的一个例子:

button_cb = {}
function button_cb.actionPerformed(ev) ... end
buttonProxy = luajava.createProxy("java.awt.ActionListener",  button_cb)

当然,您也可以使用熟悉的 C API(适用于 Java)从 Java 调用“普通”Lua 函数。

【讨论】:

    【解决方案2】:

    Lua Development Tools 中,我们正在使用Metalua 解析Lua 源代码,JNLua 使这成为可能。不仅可以从 Java 中调用 Lua 代码,而且 Lua 代码还可以操作/实例化 Java 类!

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 2016-04-29
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 2021-03-27
      相关资源
      最近更新 更多