【问题标题】:GWT integration with SmartGWT - Cant select text SectionStack->Section->Canvas->HTMLGWT 与 SmartGWT 集成 - 无法选择文本 SectionStack->Section->Canvas->HTML
【发布时间】:2014-01-21 20:54:16
【问题描述】:

我们结合使用 GWT 和 smart gwt 来为我们构建的应用添加一些功能。

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

SectionStack(SmartGWT)->Section(SmartGWT)->Canvas (SmartGWT)->VerticalPanel(GWT) -> 其他 GWT 小部件(HTML、标签等)

在我们混合 GWT 和 SmartGWT 之前,可以在标准 GWT 小部件中选择文本,然后复制和粘贴等。将 GWT 小部件嵌套在 SmartGWT 画布中意味着现在这是不可能的。任何人都可以提供解释为什么会这样和/或如何解决它的解决方案。

我试过canvas.setCanSelectText(true);,但这似乎也没有任何作用。

我们将 GWT 2.1 与 SmartGWT 2.2 结合使用。使用 SmartGWT2.2 的演示应用程序似乎在 http://www.smartclient.com/smartgwt/showcase/#featured_gwt_integration 上表现出同样的问题。我也尝试过 GWT 2.0.x 和 SmartGWT 2.2

任何帮助表示赞赏。

【问题讨论】:

标签: gwt integration smartgwt


【解决方案1】:

对于那些感兴趣的人,我设法在以下位置找到了一个为此注册的错误:code.google.com/p/smartgwt/issues/...

【讨论】:

    【解决方案2】:

    其实这不是问题。您必须在包装您的 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);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-01
      • 2010-11-01
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多