1

Eclipse プラグインのコードから呼び出して、 Eclipse の内部ブラウ​​ザー ( org.eclipse.swt.browser.Browser )を開こうとしています。

これまでのところ、実際にインスタンスを作成し、URL を「開く」ことができました (セットアップしたリスナーからのログのおかげでわかります)。しかし、何も表示されません。シェルはブラウザの複合親として使用されるため、起動するだけだと思います。

この特定の問題に関するリソースは見つかりませんでした。ほとんどの例のスニペットはプラグインに関するものではありません。

これまでの私のコードは次のとおりです。

  final Shell shell = myActiveWorkbenchWindow.getShell();
  final Browser browser = new Browser(shell, SWT.NONE);
   // set up listener to log the url when loaded
  browser.setUrl(getLoginUrl());

では、どうすればブラウザーを (ポップアップとして、または Eclipse ウィンドウに) 表示させることができるでしょうか?

4

1 に答える 1

3

「ブラウザ」は、独自のウィンドウ クロムを持つオブジェクトのように考えるのではなく、HTML データを含むことができる専用のパネルまたは UI 領域のように考えてください。上記の例の問題は、新しい UI パネルを既存のウィジェットに挿入しようとしていることです (子ウィジェットは、コンストラクターへのパラメーターとして親を取得することによって自身を作成し​​ます)。

Browser オブジェクトを使用して新しいウィンドウで URL を開くより良い例は次のとおりです。

Shell parentShell = Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
Shell myShell = new Shell (parentShell, SWT.SHELL_TRIM);
// Very important, generally parents must have a layout set to display children
myShell.setLayout (new FillLayout()); 
Browser browser = new Browser (myShell, SWT.NONE);
browser.setUrl (getLoginUrl());
myShell.layout();
myShell.open();
于 2013-05-10T14:31:21.537 に答える