GWT 与 SmartGWT 集成 - 无法选择文本 SectionStack->Section->Canvas->HTML

发布于 2024-10-05 04:08:40 字数 724 浏览 2 评论 0原文

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

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

剖面堆栈(SmartGWT)->剖面(SmartGWT)->画布(SmartGWT)->垂直面板(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

任何帮助表示赞赏。

we've used a combination of GWT and smart gwt to add some features to an app we've built.

The problem I have is that we decided to make use of the accordion functionality (SectionStack's) that SmartGWT offers and we are nesting our stock gwt widget inside a canvas and then nesting that inside the section stack. E.G

SectionStack(SmartGWT)->Section(SmartGWT)->Canvas (SmartGWT)->VerticalPanel(GWT) -> Other GWT Widgets (HTML, labels etc)

Before we mixed GWT and SmartGWT it was possible to select text in the standard GWT widgets and then copy and paste etc. Nesting the GWT widgets in the SmartGWT canvas means this is now not possible. Can anyone offer an explanation why this is the case and/or a solution on how to fix it.

I've tried canvas.setCanSelectText(true); but this doesn't seem to do anything either.

We're using GWT 2.1 with SmartGWT 2.2. The demo app using SmartGWT2.2 seems to exhibit the same problem over at http://www.smartclient.com/smartgwt/showcase/#featured_gwt_integration . I've also tried GWT 2.0.x with SmartGWT 2.2

Any help appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

满栀 2024-10-12 04:08:40

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

For those interested I've managed to find a bug registered for this at : code.google.com/p/smartgwt/issues/…

梦里人 2024-10-12 04:08:40

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

Actually it is not an issue. You have to call the setCanSelectText method on the WidgetCanvas wich is wrapping your GWT widget. The WidgetCanvas is created in the addItem(Widget) method. One way to go is to override the addItem method like this:

@Override
public void addItem(Widget widget) {
    if (widget instanceof Canvas) {
        addItem((Canvas) widget);
    } else {
        WidgetCanvas wg = new WidgetCanvas(widget);
        wg.setCanSelectText(true);
        addItem(wg);
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文