为Java应用程序加入脚本引擎 - 编程入门网
runScript(String script)
{
try
{
StringReader reader = new StringReader(script);
runScript( "New script", reader);
}
catch(Exception ex)
{
ex.printStackTrace();
System.out.println(ex);
return;
}
}
public static void runScript(String scriptInfo, Reader reader)
{
Interpreter interpreter = new Interpreter (reader,System.out,System.out,true,namespace);
try
{
if(notepad != null)
{
JTextComponent editor = notepad.getEditor();
interpreter.set("application",notepad); //将应用程序的变量传入解释 器,
interpreter.set("editor", editor); //这样就可在脚本中使用这个 变量参照
running = true;
interpreter.eval(reader, namespace, scriptInfo);
}
}
catch(Throwable throwable)
{
throwable.printStackTrace();
JOptionPane.showMessageDialog(notepad,
new Object[]
{"Script 错误!",
throwable.getMessage()},
"错误",JOptionPane.ERROR_MESSAGE);
}
finally
{
running = false;
}
}
public static boolean isMacroRunning()
{
return running;
}
}
为Java应用程序加入脚本引擎(4)时间:2011-06-19 IBM 陈先波这个BeanShell提供了三个方法, void initBeanShell(Notepad),这个方法进行初始化。 void runScript(String script),这个方法可直接运行脚本代码。 void runScript(String scriptInfo, Reader reader),这个方法可从一个 Reader流中运行脚本。 而真正核心的执行脚本的代码在void runScript(String scriptInfo, Reader reader)方法中,大家注意,代码中先创建了一个BeanShell的解释器实例, Interpreter interpreter = new Interpreter (reader,System.out,System.out,true,namespace); 然后将Notepad程序的实例变量传入解释器,这样就可直接在脚本中引用 Notedpad的实例了,
接下来看看如何把BeanShell嵌入到Notepad程序中,笔者写了几个类, Main ,用来初始化,并在Notepad程序中加入一个"Script Editor"的菜单 ScriptEditor,简单的脚本编辑器,用来编辑或载入脚本,运行脚本程序。 ScriptEditorAction,启动Script Editor的Action. 下面是Main.class的主要代码,
以上程序取得Notepad程序的Menu Bar,并添加一个Script Editor菜单到其中 ,这样,就可不用修改Notepad程序,并在其中加入启动Script Editor的菜单。 下图是程序运行中的画面: 为Java应用程序加入脚本引擎(5)时间:2011-06-19 IBM 陈先波写一个简单的脚本 现在我们 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |