1
我有陣列列表中的字體列表,我將此字體添加到單元格表(GWT)中,但完整列表僅顯示默認字體。但是我的要求是,如果字體名稱是「Arial」,那麼該名稱應該以「Arial」字體顯示,並且如果字體名稱是「Calibri」,那麼該名稱應該以「Calibri」字體顯示,就像其餘的字體一樣。如何顯示「組合框」中的「單元格表」中的字體列表。GWT:如何更改GWT Celltable中的行字體?
我有陣列列表中的字體列表,我將此字體添加到單元格表(GWT)中,但完整列表僅顯示默認字體。但是我的要求是,如果字體名稱是「Arial」,那麼該名稱應該以「Arial」字體顯示,並且如果字體名稱是「Calibri」,那麼該名稱應該以「Calibri」字體顯示,就像其餘的字體一樣。如何顯示「組合框」中的「單元格表」中的字體列表。GWT:如何更改GWT Celltable中的行字體?
GWT中的單元格可以具有自定義渲染器。請參閱此示例的細節 - 我試圖保持它儘可能簡單:
public class Sample implements EntryPoint {
private static final Templates T = GWT.create(Templates.class);
public interface Templates extends SafeHtmlTemplates {
@Template("<span style='{0}'>{1}</span>")
SafeHtml fontName(SafeStyles styles, String name);
}
static class Font {
String name;
public Font(String name) {
this.name = name;
}
}
class FontCell extends AbstractCell<Font> implements Cell<Font> {
@Override
public void render(Context context, Font font, SafeHtmlBuilder sb) {
sb.append(T.fontName(SafeStylesUtils.fromTrustedNameAndValue("font-family", font.name), font.name));
}
}
class FontColumn extends Column<Font, Font> {
public FontColumn() {
super(new FontCell());
}
@Override
public Font getValue(Font object) {
return object;
}
}
private static List<Font> fonts = Arrays.asList(
new Font("Arial"),
new Font("Courier New"),
new Font("Tahoma"),
new Font("Verdana"));
public void onModuleLoad() {
CellTable<Font> cellTable = new CellTable<Font>();
cellTable.addColumn(new FontColumn(), "Font");
new ListDataProvider<Font>(fonts).addDataDisplay(cellTable);
RootPanel.get().add(cellTable);
}
}
我也遇到過類似的問題,我已經使用圖像。等待更好的解決方案 – SenthilPrabhu 2013-05-14 05:03:42