java - 自定义 gxt Cell 可能需要 Widget

标签 java gwt grid gxt

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

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/

相关文章:

asp.net-mvc - 禁用/删除 Kendo mvc 验证器

wpf - DataTemplate 仅显示最后一条记录的 Canvas

java - 将HashMap传递给jsp

java - JOptionPane 调用堆栈

java - GWT doGet() servlet 将图像字节数组或图像返回给客户端

css - Tapestry:设置 Grid 列的 css 类

java - 通过代码关闭 fxml 窗口,javafx

java - 在 x 轴上使用日期时间格式时标签过多

java - 如何合并来自不同语言环境的 GWT 排列?

gwt - TabLayoutPanel 不显示小部件,仅选项卡项目可见