您的位置:首页 > 编程语言 > Java开发

jxbrowser 实现java 和 js互相调用(破解版请联系作者)

2017-06-26 19:14 1136 查看
今天我们使用jxbrowser  实现js直接调用java代码。

调用javaTest类的 alert方法。

主要就是给浏览器对象添加一个监听,然后在页面渲染完成之后,获取到js的window对象,给window对象添加一个 属性。

破解版联系QQ 921888199

final Browser browser = new Browser();
BrowserView browserView = new BrowserView(browser);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(browserView, BorderLayout.CENTER);
frame.setSize(700, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
browser.addLoadListener(new LoadAdapter() {
@Override
public void onFinishLoadingFrame(FinishLoadingEvent event) {
if (event.isMainFrame()) {
JSValue window = browser.executeJavaScriptAndReturnValue("window");
// 给jswindows对象添加一个扩展的属性
JavaTest javaObject = new JavaTest();
window.asObject().setProperty("javaTest", javaObject);
}
}
});
browser.loadURL("E:/workspace48/browser/test.html");
<script>

function exeJava(){
try
{
javaTest.alert('111');
}
catch(e)
{
alert(e);
}
}
</script>
<body onclick="exeJava()">
111111
</body>


public static class JavaTest {
public void alert(String args)
{
System.out.println("im alert");
}
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: