这是来自Eclipse SWT snippets website 的example
此外,这篇文章可能会让您对此有所了解。
Using Java Objects in JavaScript in Eclipse SWT Browser Control
要将 Java 对象从 Eclipse 公开到 JavaScript,您需要创建一个扩展 BrowserFunction 的类。这个类的构造函数有两个参数;第一个是浏览器实例,第二个是运行 SWT 浏览器控件的 JavaScript 代码中可用的函数的名称... ...
代码 sn-p
浏览器功能:
<pre>import java.io.File;</pre>
导入 org.eclipse.swt.browser.Browser;
导入 org.eclipse.swt.browser.BrowserFunction;
公共类 ListFilesFunction 扩展 BrowserFunction {
Browser browser = null;
String functionName = null;
public ListFilesFunction(Browser browser, String name) {
super(browser, name);
this.browser = browser;
this.functionName = name;
}
public Object function (Object[] args)
{
if (args.length == 0)
browser.execute("alert('Function " +
functionName + " requires one argument - parent folder path');");
File file = new File(args[0].toString());
if (!file.exists())
browser.execute("alert('Folder " + args[0] +
" 不存在');");
if (!file.isDirectory())
browser.execute("alert('Path " + args[0] + " must be a folder');");
return file.list();
}
}
将此函数与浏览器控件关联
public class View extends ViewPart
{
Browser browserCtl = null;
...
public void createPartControl(Composite parent) {
...
browserCtl = new Browser(parent, SWT.None);
new ListFilesFunction(browserCtl, "getFiles");
...
}
...
}
从 JavaScript 调用这个函数:
<html>
<head>
<script type='text/javascript'>
files = getFiles("c:/");
for (i = 0; i < files.length; i++)
{
document.writeln(files[i] + "<br>");
}
</script>
</head>
<body>
</body>
</html>