我需要一个可以在其中放置小部件的列。 我有这个:
import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.client.ui.Widget;
public class WidgetGridCell extends AbstractCell<Widget> {
Widget widget;
public WidgetGridCell(Widget widget) {
this.widget = widget;
}
@Override
public void render(Context paramContext,
Widget param, SafeHtmlBuilder pb) {
}
}
但我不知道如何在 HTML 中包含该小部件
附注或者不是 Widget,只有 GWT Button 适合我。
最佳答案
参见here有关 AbstractCell 实现的许多示例。
要回答有关 GWT 按钮的问题:
import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.client.ui.Widget;
public class WidgetGridCell extends AbstractCell<Widget> {
Widget widget;
public WidgetGridCell(Widget widget) {
this.widget = widget;
}
@Override
public void render(Context paramContext,
Widget param, SafeHtmlBuilder pb) {
Button aButton = new Button();
// add text to the button, etc...
pb.append(SafeHtmlUtils.fromTrustedString(aButton.toString()));
}
}
尝试在单元格元素内渲染整个小部件在很大程度上是不可行(也不建议)的,但听起来好像您确实在尝试从单元格内渲染按钮。
AbstractCell 是 Cell 接口(interface)的实现,它允许您定义要在单元格内呈现的 HTML。如果您需要一个可以响应事件的按钮,您需要定义自定义单元格来处理浏览器事件(例如单击事件)。 Google 在有关自定义单元的文档中做得很好,解释了如何做到这一点。
查看此链接:http://www.gwtproject.org/doc/latest/DevGuideUiCustomCells.html
关于java - 自定义 gxt Cell 可能需要 Widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17548420/