org.eclipse.swt.browser.Browser无法在Eclipse RAP应用程序中打开

时间:2012-10-17 02:10:32

标签: browser eclipse-rap

想知道是否有人可以帮助我。我试图在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。

非常感谢任何见解。

1 个答案:

答案 0 :(得分:1)

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