swt-awt swtのBrowserをswingの上で表示するための準備
2007/07/03
2007/07/04
eclipse
java
swt
引数でもらった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();
}
}
}
: