我正在尝试在TreeItem
中创建超链接。我想点击此链接打开另一个小部件。以下是我的代码:
Anchor partName = new Anchor();
partName.setText(CommonUtils.trim(circuitPartDetailsTO.getPartTO().getName(), 30));
partName.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
PartValueDisplayPopupWidget partValueDisplayPopupWidget = new PartValueDisplayPopupWidget(circuitPartDetailsTO.getPartTO().getPartId());
partValueDisplayPopupWidget.center();
DepthERP.eventBus.fireEvent(new PartDetailsPopupEvent(circuitPartDetailsTO.getPartTO().getPartId()));
}
});
sb.append(partName);
HTML partRow = new HTML(sb.toString());
TreeItem tNdePart = new TreeItem(partRow);
sb
的类型为StringBuffer。
在结果输出中,会显示超链接,但onClick
事件处理程序不起作用。
答案 0 :(得分:0)
您的解决方案不起作用,因为您将纯HTML字符串传递给TreeItem。它不包含任何处理程序的信息。
相反,您可以向树中添加SelectionHandler,并将代码从onClick移动到onSelection方法。如果需要,您还可以通过应用CSS样式使TreeItem看起来像一个链接。