org.eclipse.swt.browser.browser未在eclipse RAP应用程序中打开

org.eclipse.swt.browser.browser未在eclipse RAP应用程序中打开,browser,eclipse-rap,Browser,Eclipse Rap,不知是否有人能帮我做这件事。我正在尝试在EclipseRAP应用程序中打开嵌入式浏览器。我看到的所有示例都类似于: link.addSelectionListener(新的SelectionAdapter(){ @凌驾 公共无效widgetSelected(SelectionEvent事件){ 试一试{ 浏览器b=新浏览器(父浏览器,SWT.NONE); b、 setText(“这是来自内存的Unicode HTML内容”); }捕获(SWE){ //这里的错误处理 } } }); 但这(视觉

不知是否有人能帮我做这件事。我正在尝试在EclipseRAP应用程序中打开嵌入式浏览器。我看到的所有示例都类似于:

link.addSelectionListener(新的SelectionAdapter(){
@凌驾
公共无效widgetSelected(SelectionEvent事件){
试一试{
浏览器b=新浏览器(父浏览器,SWT.NONE);
b、 setText(“这是来自内存的Unicode HTML内容”);
}捕获(SWE){
//这里的错误处理
}
}
});
但这(视觉上)没有任何作用。当我用ExternalBrowser替换浏览器时,如下所示:

link.addSelectionListener(新的SelectionAdapter(){
@凌驾
公共无效widgetSelected(SelectionEvent事件){
试一试{
int browserStyle=ExternalBrowser.LOCATION\u BAR;
ExternalBrowser.open(“myPage”http://www.stackoverflow.com“,浏览器风格);
}捕获(SWE){
//这里的错误处理
}
}
});
它起作用了。虽然不完全符合要求

我正在OSX10.8.2上使用EclipseRCP1.4.2


非常感谢您的任何见解。

当您创建一个新的小部件时,您必须触发重新布局以使其可见。根据您的布局,调用
parent.layout()
就足够了。如果父级也包含在布局中并缩小到其首选大小,则必须对其父级调用
layout()
。如果不确定,请布置顶层外壳。

相关答案: