gpt4 book ai didi

java - GWT:如何更改GWT Celltable中的行字体?

转载 作者:行者123 更新时间:2023-12-01 04:41:04 25 4
gpt4 key购买 nike

我在数组列表中有字体列表,我将此字体添加到单元格表(GWT)中,但完整列表仅显示默认字体。但我的要求是,如果字体名称是“Arial”,则名称应以“Arial”字体显示,如果字体名称是“Calibri”,则名称应以“Calibri”字体显示,就像其余字体一样。我如何使用“单元格表”在“组合框”中显示该字体列表。

最佳答案

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

关于java - GWT:如何更改GWT Celltable中的行字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16535342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com