/ / GWT: jak zmienić czcionkę wiersza w GWT Celltable? - java, eclipse, gwt, eclipse-rcp

GWT: jak zmienić czcionkę wiersza w GWT Celltable? - java, eclipse, gwt, eclipse-rcp

Mam listę czcionek na liście Array, dodajęte czcionki do tabeli komórek (GWT), ale pełna lista wyświetla tylko czcionkę domyślną. Ale moim wymaganiem jest, jeśli nazwa czcionki to „Arial”, nazwa ta powinna być wyświetlana z czcionką „Arial”, a jeśli nazwa czcionki to „Calibri”, nazwa powinna być wyświetlana z czcionką „Calibri”, podobnie jak pozostałe czcionki. Jak wyświetlić tę listę czcionek w „polu kombi” z „tabelą komórek”.

Odpowiedzi:

0 dla odpowiedzi № 1

Komórki w GWT mogą mieć niestandardowy moduł renderujący. Proszę zapoznać się z tą próbką, aby uzyskać szczegółowe informacje - starałem się, aby była tak prosta, jak to możliwe:

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);
}
}