- 新しいCellTableを作成します。
- onBrowserEvent2をオーバーライドして、マウスイベントを処理します。
- テーブルに新しい要素を追加します。
残念ながら、イベントリスナーは追加された要素を処理していません。それは最初の要素にのみ取り組んでいます。
table = new CellTable<Contact>() {
public void onBrowserEvent2(Event event) {
Element tr = Element.as(event.getEventTarget());
boolean gotIt = false;
while (!gotIt && tr != null) {
if (!tr.getTagName().equals("TR")) {
tr = tr.getParentElement();
continue;
}
gotIt = true;
}
if (tr == null)
return;
tr = Element.as(tr.getChild(1));
Element out = DOM.createDiv();
out.setInnerHTML("<a href='xxx'>Edit contact</a> | <a href='xxx'>Add visit plan</a> | <a href='xxx'>New visit</a>");
switch (DOM.eventGetType(event)) {
case Event.ONMOUSEOVER:
tr.appendChild(out);
break;
case Event.ONMOUSEOUT:
tr.getChild(1).removeFromParent();
break;
}
}
};