Java 在SWT中使用受控嵌入式浏览器

Java 在SWT中使用受控嵌入式浏览器,java,browser,web,interaction,Java,Browser,Web,Interaction,有人知道如何在SWT中使用“受控嵌入式浏览器”,它允许页面操作吗?我只能找到有关如何使用普通SWT浏览器的信息,但我需要能够与加载的页面交互。非常感谢。像这样- -但是没有关于如何启动这样一个类的说明。这里是一个from 此外,这篇文章可能会给你一些关于这方面的见解。 要将Java对象从Eclipse公开到JavaScript,需要创建一个扩展BrowserFunction的类。此类的构造函数接受两个参数;第一个是浏览器实例,第二个是在运行SWT浏览器控件的JavaScript代码中可用的函数

有人知道如何在SWT中使用“受控嵌入式浏览器”,它允许页面操作吗?我只能找到有关如何使用普通SWT浏览器的信息,但我需要能够与加载的页面交互。非常感谢。像这样- -但是没有关于如何启动这样一个类的说明。

这里是一个from

此外,这篇文章可能会给你一些关于这方面的见解。

要将Java对象从Eclipse公开到JavaScript,需要创建一个扩展BrowserFunction的类。此类的构造函数接受两个参数;第一个是浏览器实例,第二个是在运行SWT浏览器控件的JavaScript代码中可用的函数名

代码片段

浏览器功能:

“不存在”);”

}

将此功能与浏览器控件关联


}
从JavaScript调用此函数:


files=getFiles(“c:/”);
对于(i=0;i”);
}
这是一个来自

此外,这篇文章可能会给你一些关于这方面的见解。

要将Java对象从Eclipse公开到JavaScript,需要创建一个扩展BrowserFunction的类。此类的构造函数接受两个参数;第一个是浏览器实例,第二个是在运行SWT浏览器控件的JavaScript代码中可用的函数名

代码片段

浏览器功能:

“不存在”);”

}

将此功能与浏览器控件关联


}
从JavaScript调用此函数:


files=getFiles(“c:/”);
对于(i=0;i”);
}

没关系,我的答案太晚了:),但希望这能为其他人提供参考。没关系,我的答案也晚了:),但希望这能为其他人提供参考 import java.io.File;

import org.eclipse.swt.browser.Browser; import org.eclipse.swt.browser.BrowserFunction;

public class ListFilesFunction extends 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");
    ...
}
...
<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>