- 浏览: 800653 次
- 性别:
- 来自: 广州
最新评论
-
mixture:
语句int num1, num2;的频度为1;语句i=0;的频 ...
算法时间复杂度的计算 [整理] -
zxjlwt:
学习了。http://surenpi.com
[问题解决]Error: ShouldNotReachHere() [整理] -
Animal:
谢谢 楼主 好东西
算法时间复杂度的计算 [整理] -
univasity:
gaidandan 写道缓存失败,,模拟器上可以缓存,同样代码 ...
[开发总结]WebView使用中遇到的一些问题&解决 -
blucelee2:
那么麻烦干吗,而且这种方法会导致,当拉太小的时候样式会丢掉,整 ...
[SWT]SashForm中固定单侧大小(&实现面板隐藏)
代码来个人和自网络,仅供参考,如有纰漏请指正,欢迎交流。
01. 在AWT中的使用(来自文章《Java中使用Lua脚本语言 》)
<!--StartFragment-->/////////////////////////////////////////////////////
//
Hello.java
public class Hello { public static void main(String[] args) { LuaState L = LuaStateFactory.newLuaState(); L.openLibs(); System.out.println("这里是Java程序调用Lua脚本"); // 加载脚本hello.lua,并执行 L.LdoFile("res/hello.lua"); } }
--------------------------------------------------------
-- hello.lua
frame = luajava.newInstance("java.awt.Frame", "Lua Java Console") console = luajava.newInstance("java.awt.TextArea") buttons_pn = luajava.newInstance("java.awt.Panel") execute_bt = luajava.newInstance("java.awt.Button", "Execute") clear_bt = luajava.newInstance("java.awt.Button", "Clear") exit_bt = luajava.newInstance("java.awt.Button", "Exit") frame:setSize(600,300) buttons_pn:add(execute_bt) buttons_pn:add(clear_bt) buttons_pn:add(exit_bt) BorderLayout = luajava.bindClass("java.awt.BorderLayout") frame:add(BorderLayout.NORTH, console) frame:add(BorderLayout.SOUTH, buttons_pn) frame:pack() frame:show() -- -- Listeners -- execute_cb = { actionPerformed = function(ev) print("execute") pcall(loadstring(console:getText())) end } jproxy = luajava.createProxy("java.awt.event.ActionListener",execute_cb) execute_bt:addActionListener(jproxy) clear_cb = {actionPerformed= function (ev) print("clear"); console:setText(""); end } jproxy = luajava.createProxy("java.awt.event.ActionListener" ,clear_cb) clear_bt:addActionListener(jproxy) exit_cb = { actionPerformed=function (ev) print("exit") frame:setVisible(false) frame:dispose() end } jproxyb = luajava.createProxy("java.awt.event.ActionListener" ,exit_cb) exit_bt:addActionListener(jproxyb) close_cb = { } function close_cb.windowClosing(ev) print("close") frame:setVisible(false) frame:dispose() end function close_cb.windowActivated(ev) print("act") end jproxy = luajava.createProxy("java.awt.event.WindowListener", close_cb) frame:addWindowListener(jproxy)
02. 在SWT中的使用(本人写的一个小例子)
/////////////////////////////////////////////////////
//
Hello.java
public class Hello { /** * @param args */ public static void main(String[] args) { // Display display = new Display(); // Shell shell = new Shell(display); // shell.setLayout(null); // Text hello = new Text(shell, SWT.MULTI); // shell.setText("Java应用程序"); // shell.setSize(200, 100); // hello.setText("Hello,SWT World!"); // hello.pack(); // shell.open(); // while(!shell.isDisposed()){ // if(!display.readAndDispatch()){ // display.sleep(); // } // } // display.dispose(); LuaState L = LuaStateFactory.newLuaState(); L.LdoFile("res/hello.lua"); L.close(); } }
--------------------------------------------------------------
-- hello.lua
-- -- create instance -- display = luajava.newInstance("org.eclipse.swt.widgets.Display") -- Display shell = luajava.newInstance("org.eclipse.swt.widgets.Shell",display) -- Shell SWT = luajava.bindClass("org.eclipse.swt.SWT") -- SWT text = luajava.newInstance("org.eclipse.swt.widgets.Text", shell,SWT.MULTI) -- Text -- -- init state -- shell:setText("Java应用程序") shell:setSize(200, 100) text:setText("Hello SWT World!") text:pack() shell:open() -- -- loop -- while not shell:isDisposed() do if not display:readAndDispatch() then display:sleep() end end display:dispose()
03. 网上找到的一个例子
<!--StartFragment-->////////////////////////////////////////////////////
// IBusinessLogic.java
public interface IBusinessLogic { public void doLogic (); }
----------------------------------------------------
-- LuaLogic.lua
local logic = {} function logic.doLogic () print("hello from logic written in Lua") end return logic
/////////////////////////////////////////////////////
// LuaJavaTest.java
public class LuaJavaTest { public static void main(String[] args) throws ClassNotFoundException, LuaException { LuaState l = LuaStateFactory.newLuaState(); l.openLibs(); l.LdoFile("res/LuaLogic.lua"); LuaObject logic = l.getLuaObject("logic"); IBusinessLogic jlogic = (IBusinessLogic) (logic.createProxy("IBusinessLogic")); jlogic.doLogic(); l.pop(1); }
04.数值和对象传递的一个例子(参考自
http://hi.baidu.com/lff0305/blog/item/fd666931da276111eac4af45.html
)
-----------------------------------------
-- test01.lua
function sum(a, b) return a+b end function test1(v) v:init() end
/////////////////////////////////////////////////////
// Test01.java
public class Test01 { /** * @param args */ public static void main(String[] args) { LuaState L = LuaStateFactory.newLuaState(); // 加载lua标准库,否则一些lua基本函数无法使用 L.openLibs(); // doFile L.LdoFile("res/test01.lua"); //---------------------------------------------值传递测试 // 找到函数 sum L.getField(LuaState.LUA_GLOBALSINDEX, "sum"); // 参数1压栈 L.pushNumber(100); // 参数2压栈 L.pushNumber(50); // 调用,共2个参数1个返回值 L.call(2, 1); // 保存返回值到result中 L.setField(LuaState.LUA_GLOBALSINDEX, "result"); // 读入result LuaObject lobj = L.getLuaObject("result"); // 打印结果 System.out.println(lobj.getNumber()); //---------------------------------------------对象传递测试 Value v = new Value(); L.getField(LuaState.LUA_GLOBALSINDEX, "test1"); try { L.pushObjectValue(v); } catch (LuaException e) { e.printStackTrace(); } L.call(1, 0); v.print(); } } class Value { private int i; public void init(){ i = 111; } public void print(){ System.out.println(i); } }
- luaInJava.rar (116.1 KB)
- 描述: 部分例子源代码
- 下载次数: 348
评论
7 楼
liyunbang08
2012-08-02
liyunbang08 写道
PANIC: unprotected error in call to Lua API (attempt to call a nil value)
运行出错,请问下什么是什么问题?
运行出错,请问下什么是什么问题?
搞定、眼拙写错路径。
6 楼
liyunbang08
2012-08-02
PANIC: unprotected error in call to Lua API (attempt to call a nil value)
运行出错,请问下什么是什么问题?
运行出错,请问下什么是什么问题?
5 楼
liyunbang08
2012-08-02
liyunbang08 写道
Value v = new Value();
LZ问下这个value是哪个包的?
LZ问下这个value是哪个包的?
额 看到,是内部类。。。
4 楼
liyunbang08
2012-08-02
Value v = new Value();
LZ问下这个value是哪个包的?
LZ问下这个value是哪个包的?
3 楼
univasity
2012-02-29
Smile__LV 写道
LZ啊 你这是什么IDE 什么开发环境啊 工程eclipse导入不了啊
我用的就是eclipse啊,J2EE版本。导入后提示什么错误?
2 楼
Smile__LV
2012-02-27
LZ啊 你这是什么IDE 什么开发环境啊 工程eclipse导入不了啊
1 楼
相似的悲哀
2011-12-28
这几天一直在纠结一个问题,怎么从lua中获取table里的值呢??
发表评论
-
[问题解决]个推SDK使用侧记 -- 多个账号注册导致的问题
2013-12-28 14:40 2155这是我们项目最近用到的东西,用来实现消息推送。 (还不了 ... -
[问题解决] 个推(igetui)SDK使用侧记 -- 多个账号注册同一应用导致的问题
2013-12-28 14:33 0这是我们项目最近用到的东西,用来实现消息推送。 (还不了解 ... -
[SWT]打开Windows文件夹的方法 [整理]
2012-10-24 21:03 2451参考论坛帖子:http://www.iteye.com/top ... -
[SWT]SashForm中固定单侧大小(&实现面板隐藏)
2012-09-20 16:06 7008<!-- 额,发觉写篇博客都不知怎么选分类了。。。名称太 ... -
[Everything模仿] 相关项目资源整理
2012-04-29 20:04 3653一段时间来,发觉还是 ... -
[问题解决]Ubuntu10.04安装出现的显示器“无信号”问题
2011-12-11 20:42 4255<!-- 旧帖转移,2010-09-25 --> ... -
9个主流的开源许可协议[整理]
2011-12-05 23:15 29152关于开源许可 现今存在的开源协议很多,而经过 ... -
电子邮件收发原理和实现(POP3, SMTP) [整理]
2011-09-16 11:12 28194<!-- 最近工作上接触到了邮箱的开发,整理一下学到的东 ... -
讲解极小极大 (Minimax Explained) [译]
2011-09-11 21:00 6779原文链接:Minimax Explaine ... -
理解极小极大算法 (Understanding The Minimax Algorithm) [译]
2011-09-11 20:45 26961原文链接:Understanding Th ... -
Maven In Android
2011-08-31 17:32 3430Maven 一个项目管理工具,类似于Ant。相比Ant, ... -
[基础回顾]基于Eclipse的J2me和Android开发环境搭建
2011-03-23 00:10 1835<!-- 越是基础的东西就容易被忽略和轻视...我是接触 ... -
[SVN]423 Locked problem (Solved)
2011-03-03 17:15 8966今天使用SVN上传代码,突然冒出了一行红字... Se ... -
Everything研究之快速获取USN记录的文件路径
2011-01-06 17:04 8873<!-- 发觉越是没事干,记忆越差,乘还记得点什么,记录 ... -
Everything研究之读取NTFS下的USN日志文件(2)
2010-11-08 01:08 15616续>> /******************* ... -
Everything研究之读取NTFS下的USN日志文件(1)
2010-11-08 01:02 32648我在第一次使用 Everything 时,对其速度确实感到 ... -
[Swing]Netbean中使用外部资源
2010-10-22 15:43 1591要在NetBean中使用外部资源,首先需要在项目目录下创建一个 ... -
[Swing]实现一个文本自动完成工具
2010-10-17 00:00 3568//------------------------- ... -
[图形算法]J2me上的凹凸拼图实现思路
2010-04-05 21:31 6005出于个人兴趣,简单研究了一下凹凸拼图的实现。以下为本人的实现思 ... -
[特效研究]j2medev论坛里提到的一个显示特效实现
2010-03-14 16:05 2426原贴链接:http://www.j2medev.com/ ...
相关推荐
Lua-1.0.113 luajava luajava
易语言lua的例子,静态易语言调用LUA51.DLL和模块
从 https://nodeload.github.com/jasonsantos/luajava/zipball/master 下载的 luajava 中是没有 luajava.h 文件的 该文件需要由 JDK 的 javah 生成 在此希望能帮到一些生成luajava.h因难的人 :)
luajava-1.1.0luajava-1.1.0luajava-1.1.0luajava-1.1.0luajava-1.1.0
a.txt是我写的lua小程序 a.java是我写的Java程序 luajava-1.1.jar是jar文件 luajava-1.1.dll要放到系统目录下: ...我理解的也不多:就知道,java于lua通信是通过堆栈作为媒介,即一个往栈里放东西,另外一个就可以取
LuaJava.dll LuaJava源代码,在java中调用Lua语言必备
搜集了网上用实例讲解LUA的教程,并打包成WORD,有文档结构图,简单易懂,快速入门的最佳实用手册哦~~
史上最全luajava最新源码+jar包+动态链接库+lua编程环境 史上最全luajava最新源码+jar包+动态链接库+lua编程环境 史上最全luajava最新源码+jar包+动态链接库+lua编程环境
Delphi lua调用 例子 学习网络上的的lua例子
使用C语言和OpenGL编写的一个简单的Lua游戏引擎, 主要是为了学习lua,带了一个简单的lua的例子,lua的逻辑还没有完成,测试环境是ubuntu 10.04 + GCC
luajava-1.1.jar
luajava-1.1.zip (实例) luajava-1.1-win32-lua51.zip (luajava-1.1.jar,luajava-1.1.dll)
luajava64位系统支持,并且lua源码升级到lua5.3
NULL 博文链接:https://chamcon.iteye.com/blog/1972995
luajava-1.1-x64-lua51
学习了一段时间的lua,所以想发挥以下lua的功能,不过只使用了lua一些简单的功能,使用纯C语言加上OpenGL和FreeImage编写的一个简单的连连看的例子,框架已经打好了,还需要添加连连看的核心算法,这里只是提供一个...
通过例子学习LUA编程.doc lua进阶 实例代码 有用 ,分享给大家
lua 面向对象
自己写的一个简单的用lua 请求http的例子,在scite环境下可以运行(绝对可以运行)包括所需的lua socket库(socket.lua http.lua.core.dll 等),放心下载,不用谢我,我的名字叫:雷锋。