swt browser控件與java交互

一、java調用browser頁面裏的jsjavascript

 

[javascript] view plain copyjava

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


二、js中調用java函數shell

 

寫一個類繼承BrowserFunction類app

 

[java] view plain copyeclipse

  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. }  


將這個類註冊爲一個回調方法:ide

 

 

[java] view plain copy函數

  1. new CallJava (browser, "myCallJava");//注意註冊的回調方法名字,不要與類名相同,不然將沒法正常調用(不要將名字設置爲callJava)  

 

在頁面js中調用這個myCallJava方法lua

 

[javascript] view plain copyspa

  1. function fun(){  
  2.       var arguments = 'abc';  
  3.       myCallJava('abc');//此時執行CallJava類中的function方法,arguments爲傳入參數  
  4. }  
相關文章
相關標籤/搜索