gpt4 book ai didi

java - 如何将工具提示添加到标签,然后添加到单元格表列?

转载 作者:行者123 更新时间:2023-11-30 04:26:15 26 4
gpt4 key购买 nike

我有一个单元格表。我想添加多个标签,并为单元格表的一列中的每个标签分配一些工具提示。到目前为止我已经尝试过 -

TextColumn<C> detailsColumn = new TextColumn<C>() {
@Override
public String getValue(C c) {
List<String[]> cList = c.getChngd();
if (cList == null || cList.size() == 0) {
return null;
}
Label lbl;
HorizontalPanel hpanel=new HorizontalPanel();
for (Iterator<String[]> itr =List.iterator(); itr.hasNext();) {
String[] detail = itr.next();
lbl=new Label();
lbl.setText(detail[0]);
lbl.addMouseOverHandler(new MouseOverHandler() {
@Override
public void onMouseOver(MouseOverEvent event) {
Widget source = (Widget)event.getSource();
source.setTitle("tooltip");
}
});
hpanel.add(lbl);
}
return hpanel.getElement().getInnerText();
}
};

它不工作。有同样的解决方案吗?

最佳答案

我会将工具提示逻辑移至 Cell 中,而不是移至 ColumngetCell() 方法中,该方法使用仅用于检索单元格将要呈现的基础数据。

如果您想要一个简单的基于标题的单元格,则以下内容应该有效。它创建一个文本单元格,其中的数据值包含在带有标题的 div 中。

public class TooltipTextCell extends TextCell {
public interface Template extends SafeHtmlTemplates {
@Template("<div title=\"{1}\" />{0}</div>")
SafeHtml label(SafeHtml text, String title);
}
private static Template template;

public TooltipTextCell() {
super();
if (template == null) {
template = GWT.create(Template.class);
}
}

@Override
public void render(Context context, SafeHtml value, SafeHtmlBuilder sb) {
if (value != null) {
sb.append(template.label(value, value.asString()));
}
}
}

如果您想创建一个列,其中每个单元格可以包含多个此类 TooltipTextCell,则必须使用 CompositeCell .

关于java - 如何将工具提示添加到标签,然后添加到单元格表列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15783219/

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