想知道是否有人可以帮助我。我试图在Eclipse RAP应用程序中打开嵌入式浏览器。我见过的所有例子都是这样的:
link.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
try {
Browser b = new Browser(parent, SWT.NONE);
b.setText("<html><body>This is Unicode HTML content from memory</body></html>");
} catch (SWTError e) {
// Error handling here
}
}
});
虽然没有做任何事情(视觉上)。当我用ExternalBrowser替换浏览器时,如下所示:
link.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
try {
int browserStyle = ExternalBrowser.LOCATION_BAR;
ExternalBrowser.open( "myPage", "http://www.stackoverflow.com", browserStyle );
} catch (SWTError e) {
// Error handling here
}
}
});
有效。虽然不尽如人意。
我在OS X 10.8.2上使用Eclipse RCP 1.4.2。
非常感谢任何见解。
答案 0 :(得分:1)
创建新窗口小部件时,必须触发重新布局才能使其可见。根据您的布局,调用parent.layout()
可能就足够了。如果父级也包含在布局中并缩小到其首选大小,则必须在其父级上调用layout()
。如果不确定,请布置顶级shell。