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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM