GWT与SmartGWT的集成 - 不能选择文本SectionStack-> Section-> Canvas-> HTML

时间:2010-11-28 00:49:18

标签: gwt integration smartgwt

我们使用GWT和智能gwt的组合为我们构建的应用添加了一些功能。

我遇到的问题是我们决定使用SmartGWT提供的手风琴功能(SectionStack),我们将库存gwt小部件嵌套在画布中,然后将其嵌套在部分堆栈中。 E.G

SectionStack(SmartGWT) - >部分(SmartGWT) - >画布(SmartGWT) - > VerticalPanel(GWT) - >其他GWT小部件(HTML,标签等)

在我们混合GWT和SmartGWT之前,可以在标准GWT小部件中选择文本,然后复制和粘贴等。将GWT小部件嵌套在SmartGWT画布中意​​味着现在无法实现。任何人都可以解释为什么会出现这种情况和/或解决方法。

我已经尝试了canvas.setCanSelectText(true);,但这似乎也没有做任何事情。

我们在SmartGWT 2.2中使用GWT 2.1。使用SmartGWT2.2的演示应用似乎在http://www.smartclient.com/smartgwt/showcase/#featured_gwt_integration处出现了同样的问题。我也尝试过使用SmartGWT 2.2的GWT 2.0.x

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:0)

对于有兴趣的人,我设法找到了一个在此注册的错误:code.google.com/p/smartgwt/issues / ...

答案 1 :(得分:0)

实际上这不是问题。您必须在包含GWT小部件的 WidgetCanvas 上调用 setCanSelectText 方法。 WidgetCanvas 是在 addItem(Widget)方法中创建的。一种方法是覆盖 addItem 方法,如下所示:

@Override
public void addItem(Widget widget) {
    if (widget instanceof Canvas) {
        addItem((Canvas) widget);
    } else {
        WidgetCanvas wg = new WidgetCanvas(widget);
        wg.setCanSelectText(true);
        addItem(wg);
    }
}