我有以下代码:
ExpandableComposite composite = toolkit.createExpandableComposite(sectionClient,
ExpandableComposite.CLIENT_INDENT | ExpandableComposite.TREE_NODE |
ExpandableComposite.EXPANDED | SWT.FILL);
composite.setText("Task Updates...");
HyperlinkGroup group = new HyperlinkGroup(composite.getDisplay());
Integer numTasks = acts.get(i).getTaskUpdates().size();
for(int j = 0; j < numTasks; j++) {
ImageHyperlink imageLink = toolkit.createImageHyperlink(composite, SWT.NONE);
imageLink.setText("Task update link");
imageLink.setImage(Activator.getImageDescriptor("icons/task.ico").createImage());
imageLink.addHyperlinkListener(new HyperlinkAdapter() {
public void linkActivated(HyperlinkEvent e) {
System.out.println("Image link activated.");
}
});
group.add(imageLink);
composite.setClient(imageLink);
}当我只将ExpandableComposite与单个元素一起使用时,比如Label或Hyperlink,它工作得很好。但是,当我尝试在ExpandableComposite中显示几个元素时,它不会显示任何内容,也不会抛出任何异常。我试着在http://www.eclipse.org/articles/Article-Forms/article.html上浏览了一下教程,但似乎没有什么帮助。
发布于 2011-12-16 00:40:16
ExpandableComposite只能有一个客户端。这就是你的代码不能与多个超链接一起工作的原因。
如果您希望在ExpandableComposite上放置多个ImageHyperlink,则应该创建另一个Composite,它是ExpandableComposite的客户端,并将超链接放置在此组合上。
https://stackoverflow.com/questions/8521880
复制相似问题