我想设计一个FlexTable programmaticaly,如下所示:http://uploadz.eu/images/v4z6gucp2gg8ql9pzj.png
由于OnClick方法无法获取其他参数,因此事件和按钮不知道“它们在哪一行”,我无法告诉按钮“请交换行,您当前与您的好友在哪里在你之上“。 我想知道:这样做的好方法是什么?
答案 0 :(得分:0)
ClickEvent
有一个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
,而无需为每一行创建新的。{/ p>