我需要一个可以在其中放置小部件的列。我有这个:
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中包含小部件
PS或不是Widget,只有GWT Button才适合我。
参见此处,了解有关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接口的实现,允许您定义要在单元中呈现的HTML。如果您需要一个可以响应事件的按钮,则需要定义自定义单元以处理浏览器事件(例如click事件)。Google在自定义单元格的文档中做得很好,解释了如何做到这一点。
看到此链接:http : //www.gwtproject.org/doc/latest/DevGuideUiCustomCells.html