首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在GWT CellTable中的ImageCell上添加clickhandler?

在GWT CellTable中的ImageCell上添加clickhandler,可以通过以下步骤实现:

  1. 创建一个自定义的ImageCellRenderer类,继承自AbstractCell类,并实现render()和onBrowserEvent()方法。在render()方法中,将图片渲染到Cell中;在onBrowserEvent()方法中,处理点击事件。
代码语言:java
复制
public class ImageCellRenderer extends AbstractCell<String> {

  @Override
  public void render(Context context, String value, SafeHtmlBuilder sb) {
    if (value != null) {
      sb.appendHtmlConstant("<img src='" + value + "'/>");
    }
  }

  @Override
  public void onBrowserEvent(Context context, Element parent, String value, NativeEvent event, ValueUpdater<String> valueUpdater) {
    super.onBrowserEvent(context, parent, value, event, valueUpdater);
    if ("click".equals(event.getType())) {
      // 处理点击事件
      // 可以在这里调用valueUpdater.update(value)来更新Cell的值
    }
  }
}
  1. 在创建CellTable时,将ImageCellRenderer应用到ImageCell上,并添加clickhandler。
代码语言:java
复制
// 创建CellTable
CellTable<String> cellTable = new CellTable<>();

// 创建ImageCell并设置ImageCellRenderer
ImageCell imageCell = new ImageCell();
imageCell.setCellRenderer(new ImageCellRenderer());

// 创建Column并将ImageCell应用到Column上
Column<String, String> imageColumn = new Column<String, String>(imageCell) {
  @Override
  public String getValue(String object) {
    // 返回图片URL
    return object;
  }
};

// 添加Column到CellTable
cellTable.addColumn(imageColumn);

// 添加clickhandler到CellTable
cellTable.addCellPreviewHandler(new Handler<String>() {
  @Override
  public void onCellPreview(CellPreviewEvent<String> event) {
    if ("click".equals(event.getNativeEvent().getType())) {
      // 处理点击事件
      String value = event.getValue();
      // 可以在这里更新Cell的值
    }
  }
});

这样,当在CellTable中的ImageCell上点击时,会触发clickhandler中的处理逻辑。你可以根据实际需求,在clickhandler中进行相应的操作,例如更新Cell的值或执行其他业务逻辑。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在keras添加自己优化器(adam等)

\Anaconda3\envs\tensorflow-gpu\Lib\site-packages\tensorflow\python\keras 3、找到keras目录下optimizers.py文件并添加自己优化器...找到optimizers.pyadam等优化器类并在后面添加自己优化器类 以本文来说,我在第718行添加如下代码 @tf_export('keras.optimizers.adamsss') class...super(Adamsss, self).get_config() return dict(list(base_config.items()) + list(config.items())) 然后修改之后优化器调用类添加我自己优化器...# 传入优化器名称: 默认参数将被采用 model.compile(loss=’mean_squared_error’, optimizer=’sgd’) 以上这篇如何在keras添加自己优化器...(adam等)就是小编分享给大家全部内容了,希望能给大家一个参考。

44.9K30

jbpm5.1介绍(12)

要处理添加和删除按钮单击事件,你会使用对clickHandler接口。要处理键盘在输入框事件,你会使用KeyPressHandler接口。...您将处理传递给它对象,实现对clickHandler接口添加按钮Click事件。在这种情况下,你会使用一个匿名内部类来实现ClickHandler。...在部件用户点击时,对clickHandler接口有一个方法onClick,其中火灾。 当用户点击添加按钮,StockWatcher应该响应加入股票库存表。...输入使用这两种方法,通过按回车键,用鼠标点击“添加”按钮。 在这一点,股票是不能添加到表。然而,输入框应该清楚,让你可以添加其他股票。 测试有效性检查和错误消息。...为文本添加到一个细胞FlexTable,调用setText方法。 检查股票,看它是否存在,如果这样做,不添加再次。 在addStock方法,取代与此代码TODO注释。

6.8K40

​.NET手撸2048小游戏

这是因为游戏实时渲染特有的性能所要求,游戏常常有成百上千个动态元素在界面上飞舞,这些动作必须在一次垂直同步( 16ms或更低)时间内完成,否则用户就会察觉到卡顿。...这时代码需要精心设计,将代码写成像事件驱动那么容易,下文将演示如何在 2048小游戏中做出流畅动画。 2048小游戏 回到2048小游戏,我们将在制作这个游戏,慢慢体会我所说“小游戏三原则”。...(你可以在草稿本先画画图……) 我将 2048游戏逻辑概括如下: 将所有方块,向用户指定方向遍历,找到最近方块位置 如果找到,且数字一样,则合并(删除对面,自己加倍) 如果找到,但数字不一样,则移动到对面的前一格...用户每次撤销,都是最新状态,是一个经典后入先出模式,也就是 栈,因此在 .NET我们可以使用 Stack,在 Matrix可以这样定义: Stack CellHistory...但使用 Rx后触发入口仍然可以保持统一,在之前基础,只需添加一行代码即可解决: keyUp.Select(x => x switch { Keys.Left => (Direction

1.3K30

GWT 初体验

消息交互格式,官方文档也有详细说明,GWT 对 XML 和 JSON 支持都很完善。...认为不懂得 JAVASCRIPT 就无法真正 DEBUG 使用 GWT 遇到问题) 不只是 JavaScript debug,还有布局、样式等等传统 Web 开发遇到问题,在这里其实依然可能遇到...集成跟踪查错是开发人员梦寐以求功能. 集成在 JAVA IDE 优秀跟踪查错功能可以让任何人钟情于 GWT。...先要获取对象类,然后查找到那个方法,再调用,用法基本就和反射一致;而 JSNI 调用 Java 里面定义方法,需要知道 GWT 编译器最后会根据什么样规则来编译 Java 为 JavaScript...在 GWT 1.X ,表现层代码和逻辑代码是搅合在一起。引入 UI Binder 之后,这个问题应该解决了。但是学习一门新 XML 语言也是让人不爽

99310

不会前端没事,用GWT Boot和Spring Boot构建Web程序

由于GWT Boot 客户端需要使用源码编译成JavaScript,共享模块要使用Maven Source plugin导出共享模块源码包。 分离出共享模块后,将它作为依赖项添加到后端服务。...现在将上面创建共享模块依赖和源码添加到该客户端模块。...随后在客户端模块module.gwt.xml添加Person.gwt.xml文件 GWT Maven plugin 根据module.gwt.xml 创建真正GMT 模块 App.gwt.xml...HomeComposite:此类处理表示逻辑,并根据PersonListGroup的人数创建不同类型对话框,警告或错误对话框。...:devmode -Pdevelopment-mock 可以修改代码后,立即在浏览器看到转换后JavaScript效果 2、使用server运行 -- 首先转到客户端模块目录 mvn gwt:generate-module

1K20

一分钟开始持续集成之旅系列之:Java + GWT

version=2.8.2" -o gwt-2.8.2.zip 下载后压缩包解压到任意目录( /home/user/gwt-2.8.2),并配置到 PATH 环境变量,如下所示 PATH=$PATH..., HTML 页面、CSS 样式或图像 src/main/webapp 客户端代码 实现应用程序业务逻辑 Java 代码,GWT 编译器将其转换为 JavaScript,最终在浏览器运行 src/...,打开运行配置弹窗,添加 GWT 配置。...[git-push] 在 构建 页面创建新构建计划,为方便管理构建计划,这里选择使用代码仓库 Jenkinsfile。...[artifact-generic] 总结 在本次教程,我们创建了简单 GWT 应用,熟悉了 GWT 项目结构及其命令行工具使用,并且借助 CODING 平台提供持续集成能力实现了应用自动构建

1.2K31

如何理解JavaScriptthis

希望通过我理解能够对正在处于对this困惑你指引方法,让你再也不用怕JavaScriptthis了,让你明白在各种情况下使用this。...(this)会被绑定到按钮对象,是因为jQuery库将(this)绑定到了调用click方法对象。...“0”属性上面的代码,按钮( 需要注意是,尽管我们是通过user.clickHandler()这种形式(必须这样子做,因为clickHandler()是在user对象里定义方法)来调用clickHandler...在我另一篇文章《JavaScriptApply、Call和Bind方法》里,详细地探讨了这些方法,并讲解了如何在各种容易出错情况下使用他们正确设置this值。这里就不重发一遍了。...发挥想象力延伸下,如果把一些通用函数写好,可以任意绑定在多个类原型,这样动态给类添加了一些方法,还节省了代码。这是一种强大功能,也是动态语言强表现力体现。

4.1K21

Jenkins2 学习系列9 -- Generic Webhook Trigger 插件详讲

GWT插件内部会从Jenkins实例对象取出所有的参数化Jenkins项目,包括pipeline, 然后进 行遍历。...实际GWT并不只是根据 token 值来判断是否触发,还可以根据我们提取出值进行判断。示例如下: regexpFilterText:需要进行匹配key。...例子,我们使用从POST body中提取出refValue变量值。 *regexpFilterExpression:正则表达式。...请求内容打印到日志 Print contributed variables 将 提取后变量打印到日志 测试 Jenkins 后台配置 GWT 参数 ?...image.png 修改请求,header头添加信息,地址添加参数,发现 GWT 返回结果已经成功识别了。 至于多了0参数,原因未详。 ?

4.1K30

GWT 与 Python App Engine 集成

这种集成允许你使用 GWT Java 客户端技术构建丰富用户界面,并将其与 Python 后端结合在一起,后端可以运行在 Google App Engine 。...2、解决方案尽管有人认为 GWT 与 Python App Engine 不兼容,但实际可以通过 JSON over RPC 方式实现 GWT 与 Python App Engine 集成。...GWT 将 Java 代码编译成高度优化 JavaScript 代码,并在 Web 浏览器运行。...2.3 实现步骤要实现 GWT 与 Python App Engine 集成,需要按照以下步骤操作:在本地系统安装 GWT SDK。使用 GWT SDK 创建一个新 GWT 项目。...在 Python App Engine 应用添加 JSON-RPC API 以处理 GWT 前端发来请求。将编译后 GWT 代码上传到 Python App Engine。

12110

eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」

首先gwt插件,小编这里上传了eclipse和浏览器gwt插件:http://download.csdn.net/download/csdnliuxin123524/10255451 1,eclipse...重启后打开,window–>preferences–> 就能看到gwt目录了。 然后点击gwt setting–》add–》把下载gwt文件夹添加进去就行了。...,然后点击右上角firefox–》附加组件–》把解压gwt-dev-plugin.xpi直接拖到浏览器,按照提示安装即可。...如果出现报错显示某目录下缺少jia包,需要把前面安装到eclipsegwt文件夹下jar包拷贝到报错显示目录下,如下: 再次运行即可。 4,eclipse怎么导入gwt工程呢?...导入gwt工程要先新建一个工程,这里小编就在上面的建好工程中直接导入了,file–>import–>file system–》这里导入gwt自带工程 勾选上JSON–》into folder选择上面建好工程名字

1K20

深入 React 函数组件 re-render 原理及优化

onClick={() => {addCount(count + 1)}}>add ) } 1.2、immutation state 下面我们将上面计数组件...); } 2、父组件更新引起子组件 re-render 2.1、常规使用 现在稍微改造上面计数组件,添加一个子组件 Hello,如下点击会发现,每次都会输出 "hello render",也就是说,...,那么对于引用类 props,就要注意了,尤其是事件处理函数,如下,我们给 Hello 组件添加一个点击事件,这时我们发现每次点击计数,Hello 组件又开始 re-render 了: // 新增...(ref); } // 将 ref 挂到 hook memoizedState 属性,并返回 hook.memoizedState = ref; return ref;...3、context 更新,引起 re-render 其实关于 context,我们平时都有在用, react-redux,react-router 都运用了 context 来进行状态管理。

1.1K20

salesforce lightning零基础学习(五) 事件阶段(component events phase)

一篇介绍了lightning component events简单介绍。此篇针对上一篇进行深入,主要讲内容为component event阶段(Phase)。 一....这两种方式和javascript针对事件处理Capture以及Bubble很相似。先以javascript针对DOM结构事件监听进行描述。 以一个demo进行讲解。...针对包含多个元素执行顺序,首先先要知道DOM结构事件传播方式。...上面的例子都是使用Bubble方式,下面再次修改eventBubblingChild,使他 handler方式修改成capture。区别仅限于添加phase属性。...事件Event对象也包含了很多方法,常用有以下几种: 1.event.setParam(obj):此方法用于事件处理时,添加事件参数,正常事件声明时,允许有param,此demo因为便于展示,所以没有添加

62421

20个例子入门Q.js

在html添加q-text(对于input则是q-value)属性名,并将属性值与数据对象datakey对应,该key对应值就会在dom显示。...变化时候,name经过isTom这个filter返回结果如果是true,则给dom添加colorRed类名,如果是false则去掉这个类名。...,上面例子给p元素添加了data和id属性,data:name|setData thisis_data是属性名,name是绑定数据,setData是filter,thisis_是作为字符串传给setData...try q-on提供了事件绑定,q-click: clickHandler(e)click是事件名,可以换成mouseover, keyup 等事件,clickHandler是事件处理函数名,与Q对象...directive中代表绑定数据对象属性,demo3name,demo4uid,但在directive是q-on则代表事件处理函数名,demo2clickHandler filters

2.5K10
领券