【发布时间】:2010-08-19 12:03:09
【问题描述】:
我想以编程方式设计一个 FlexTable,如下所示:http://uploadz.eu/images/v4z6gucp2gg8ql9pzj.png
由于 OnClick 方法无法获取其他参数然后是事件并且按钮不知道“它们在哪一行”,我无法告诉按钮“请交换当前与好友所在的行在你之上”。 我想知道:这样做的好方法是什么?
【问题讨论】:
标签: google-app-engine gwt
我想以编程方式设计一个 FlexTable,如下所示:http://uploadz.eu/images/v4z6gucp2gg8ql9pzj.png
由于 OnClick 方法无法获取其他参数然后是事件并且按钮不知道“它们在哪一行”,我无法告诉按钮“请交换当前与好友所在的行在你之上”。 我想知道:这样做的好方法是什么?
【问题讨论】:
标签: google-app-engine gwt
ClickEvents 有一个 getSource() 方法,其中包含事件的来源,这很有帮助。
public class NiceLabel {
public final Row row;
public NiceLabel(Row row, ClickHandler clickHandler) {
this.row = row;
addClickHandler(clickHandler);
}
}
...
// clickHandler has the following:
public void onClick(ClickEvent event) {
((NiceLabel) event.getSource()).row.moveUp();
}
通过这种方式,您可以将相同的ClickHandler 添加到每个NiceLabel,而无需为每一行创建一个新的。
【讨论】: