jxbrowser 实现java 和 js互相调用

2021/6/28 20:24:11

本文主要是介绍jxbrowser 实现java 和 js互相调用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

调用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对象添加一个扩展的属性
                    CallJava callJava = new CallJava();
                    window.asObject().setProperty("callJava", callJava);
                }
            }
        });
        browser.loadURL("E:/workspace48/browser/test.html");
    调用方法
public class CallJava {
    public void callAlert(String args) {
        System.out.println(args);
    }
}
function exeJava() {
        try {
            callJava.callAlert('调用123');
        } catch (e) {
            alert(e);
        }
    }
    //调用最好使用延时器,放置还未加载完成设置好对象就调用的错误
    window.setTimeout(function (){
        console.log("你好啊!!!");
        exeJava();
    },3000)


这篇关于jxbrowser 实现java 和 js互相调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程