我们使用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
任何帮助表示感谢。
答案 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);
}
}