swt-awt swtのBrowserをswingの上で表示するための準備 2007/07/03
2007/07/04

引数でもらったCanvasにSWTのBrowserを貼り付けます。
注意しないといけないのが、このCanvasはもちろん他のJFrameのような部品に既にのっていて、setVisibleしていないといけないようです。

SWT: The Standard Widget Toolkit

peerが生成されていない場合に発生する例外

ERROR_INVALID_ARGUMENT - if the parent's peer is not created


参考:

public static void b(java.awt.Canvas canvas, File file)
throws MalformedURLException {

Display display = new Display();
Shell shell = SWT_AWT.new_Shell(display, canvas);
shell.setLayout(new FillLayout());

Browser browser = new Browser(shell, SWT.NONE);
boolean rc = browser.setUrl("http://www.yahoo.co.jp");
shell.setSize(canvas.getWidth(), canvas.getHeight());
shell.pack();

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}

}

: