在GWT TreeItem中创建超链接

时间:2016-02-26 12:42:45

标签: java google-app-engine gwt

我正在尝试在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事件处理程序不起作用。

1 个答案:

答案 0 :(得分:0)

您的解决方案不起作用,因为您将纯HTML字符串传递给TreeItem。它不包含任何处理程序的信息。

相反,您可以向树中添加SelectionHandler,并将代码从onClick移动到onSelection方法。如果需要,您还可以通过应用CSS样式使TreeItem看起来像一个链接。