zoukankan      html  css  js  c++  java
  • jxbrowser 实现java 和 js互相调用

    https://blog.csdn.net/shuaizai88/article/details/73743626

    今天我们使用jxbrowser  实现js直接调用java代码。

    调用javaTest类的 alert方法。 

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

    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>
  • 相关阅读:
    [.NET学习]抽象&#
    几个国内开源
    通过C#命令行&#
    我的宝贝
    我的新博客
    常用的在线网
    收集一些.NET开
    论研究生学术
    在vs2008里安装使&#
    c#编码好习惯
  • 原文地址:https://www.cnblogs.com/tc310/p/10795610.html
Copyright © 2011-2022 走看看