2012-03-28 13 views
0

誰かがSWTで「制御組み込みブラウザ」を使用する方法を知っていますか?ページ操作が可能ですか?私は、通常のSWTブラウザの使い方に関する情報しか見つけることができませんが、ロードされたページと対話できる必要があります。ありがとうございました。このように - http://publib.boulder.ibm.com/infocenter/btt/v7r0/index.jsp?topic=%2Fcom.ibm.btt.application_presentation.doc_7.0%2Fdoc%2Freference%2Frichclient%2Fcontrolembededbrowser.html - しかし、そのようなクラスを開始する方法に関する指示はありません。ここでSWTで制御された組み込みブラウザを使用する

答えて

3

はまた、この記事はあなたにこの上でいくつかの洞察を与えるかもしれない

Eclipse SWT snippets websiteからexampleです。 Using Java Objects in JavaScript in Eclipse SWT Browser Control

のEclipseからJavaScriptにJavaオブジェクトを公開するために、あなたはBrowserFunctionを拡張するクラスを作成する必要があります。このクラスのコンストラクタには2つの引数があります。 :コードは

BrowserFunctionをスニペット最初のものはブラウザのインス​​タンスであり、もう一つはSWTブラウザコントロールを実行しているJavaScriptコードで利用できるようになります関数の名前です... ...

import java.io.File;

import org.eclipse.swt.browser.Browser; import org.eclipse.swt.browser.BrowserFunction;

public class ListFilesFunction extends BrowserFunction {

Browser browser = null; 
String functionName = null; 

public ListFilesFunction(Browser browser, String name) { 
    super(browser, name); 
    this.browser = browser; 
    this.functionName = name; 
} 

public Object function (Object[] args) 
{ 
    if (args.length == 0) 
     browser.execute("alert('Function " + 
     functionName + " requires one argument - parent folder path');"); 

    File file = new File(args[0].toString()); 

    if (!file.exists()) 
     browser.execute("alert('Folder " + args[0] + 

" does not exist');");

if (!file.isDirectory()) 
     browser.execute("alert('Path " + args[0] + " must be a folder');"); 

    return file.list(); 
} 

}

ブラウザコントロールに関連付けるこの機能

public class View extends ViewPart 
{ 
    Browser browserCtl = null; 
    ...

public void createPartControl(Composite parent) { 
    ... 
    browserCtl = new Browser(parent, SWT.None); 

    new ListFilesFunction(browserCtl, "getFiles"); 
    ... 
} 
... 

}

JAVからこの関数を呼び出しますaScript:

<html> 
    <head> 
     <script type='text/javascript'> 
      files = getFiles("c:/"); 

     for (i = 0; i < files.length; i++) 
     { 
      document.writeln(files[i] + "<br>"); 
     } 
     </script> 
    </head> 
    <body> 

    </body> 
</html> 
+0

ごめんなさいありがとうございます。ありがとうございます。 –

+0

それは大丈夫です、私の答えは遅すぎも:)、しかし、これは他の人の参考になることを願って – didxga

関連する問題