小编典典

自定义gxt单元格,可能需要小部件

java

我需要一个可以在其中放置小部件的列。我有这个:

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才适合我。


阅读 247

收藏
2020-11-30

共1个答案

小编典典

参见此处,了解有关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

2020-11-30