swt browser控件与java交互

房东的猫 提交于 2019-12-14 17:14:32

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1、java调用browser页面里的js

 

[javascript] view plain copy

  1. final Browser browser = new Browser(shell, SWT.FILL_WINDING);  
  2. browser.evaluate("fun()");//fun是一个定义好的js函数  


2、js中调用java函数

 

写一个类继承BrowserFunction类

 

[java] view plain copy

  1. import org.eclipse.swt.browser.Browser;  
  2. import org.eclipse.swt.browser.BrowserFunction;  
  3. public class CallJava extends BrowserFunction {  
  4.   
  5.     public CallJava(Browser browser, String name) {  
  6.         super(browser, name);  
  7.     }  
  8.   
  9.     @Override  
  10.     public Object function(Object[] arguments) {  
  11.         System.err.println(arguments);  
  12.         return super.function(arguments);  
  13.     }  
  14.   
  15. }  


将这个类注册为一个回调方法:

 

 

[java] view plain copy

  1. new CallJava (browser, "myCallJava");//注意注册的回调方法名字,不要与类名相同,否则将无法正常调用(不要将名字设置为callJava)  

 

在页面js中调用这个myCallJava方法

 

[javascript] view plain copy

  1. function fun(){  
  2.       var arguments = 'abc';  
  3.       myCallJava('abc');//此时执行CallJava类中的function方法,arguments为传入参数  
  4. }  
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!