每日一得--swt与js的交互

1、java调用browser页面里的js

[javascript]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. final Browser browser = new Browser(shell, SWT.FILL_WINDING);  
  2. browser.evaluate("fun()");//fun是一个定义好的js函数  

2、js中调用java函数

写一个类继承BrowserFunction类

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  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
 print ? 在CODE上查看代码片 派生到我的代码片
  1. new CallJava (browser, "myCallJava");//注意注册的回调方法名字,不要与类名相同,否则将无法正常调用(不要将名字设置为callJava)  

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

[javascript]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. function fun(){  
  2.       var arguments = 'abc';  
  3.       myCallJava('abc');//此时执行CallJava类中的function方法,arguments为传入参数  

  1. }  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值