2016-02-26 71 views
0

我正在尝试在TreeItem中创建超链接。我想打开另一个小工具点击此链接。以下是我的代码:在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事件处理程序不起作用。

回答

0

您的解决方案无法正常工作,因为您会将纯HTML字符串传递给您的TreeItem。它不包含任何处理程序的信息。相反,您可以将一个SelectionHandler添加到您的树中,并将您的代码从onClick移动到onSelection方法。如果需要,还可以通过应用CSS样式使TreeItem看起来像链接。