0
我試圖在我的項目中使用https://stackoverflow.com/a/6966235/1339354中的代碼。我定義了以下類別:GWT用自定義單元格類型創建列
public class SeoClickableCell extends AbstractCell<WebmasterObject> {
public SeoClickableCell() {
super("click", "keydown");
}
@Override
public void render(Context context, WebmasterObject value, SafeHtmlBuilder sb) {
if (value != null) {
sb.appendHtmlConstant("<a href='javascript:;'>");
sb.appendEscaped(value.getName());
sb.appendHtmlConstant("</a>");
}
}
@Override
public void onBrowserEvent(Context context, Element parent, WebmasterObject value, NativeEvent event, ValueUpdater<WebmasterObject> valueUpdater) {
if (value == null)
return;
super.onBrowserEvent(context, parent, value, event, valueUpdater);
if ("click".equals(event.getType())) {
//TODO
}
}
};
但我想在我的CellTable中創建一個自定義列。但下面的代碼:
final SeoClickableCell cell = new SeoClickableCell();
Column<WebmasterObject, String> nameColumn = new Column<WebmasterObject, String>(cell) {
@Override
public String getValue(WebmasterObject WebmasterObject) {
return WebmasterObject.getName();
}
};
告訴我:
構造柱(SeoClickableCell)是未定義
,我應該讓SeoClickableCell實施小區或更改「細胞類型」。
我不確定如果我正確地掌握了製作自定義單元格/列的過程,所以我們將不勝感激。
爲什麼你不希望使'SeoClickableCell實現Cell'? 「AbstractCell」的層次結構是什麼? –
因爲如果我讓'public class SeoClickableCell extends AbstractCell實現Cell {',Java告訴我我不能多次實現接口Cell。如果我讓他們兩個都實現了X 沒有發現任何錯誤,但是我應該使我的原始代碼像'Column nameColumn = new Column (cell){'和I'米不知道這是我需要的。 –
Shadark
這很奇怪,因爲'AbstractCell'實現'Cell' ...你使用的是哪個版本的GWT? –