2

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

任何见解都受到高度赞赏。

4

1 回答 1

1

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

于 2012-10-31T10:55:04.493 回答