我正在使用 Eclipse 4.2 Juno,Java 1.6。我的应用程序中有两个部分。一部分是注册 SelectionChangedListener:
@Inject
private ESelectionService selectionService;
@PostConstruct
public void init() {
TreeViewer bsTreeViewer = new TreeViewer(tabFolder, SWT.BORDER);
/* some other stuff */
// Event declaration
bsTreeViewer.addSelectionChangedListener(new SelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
if( selectionService != null ) {
selectionService.setSelection(((IStructuredSelection)event.getSelection()).getFirstElement());
}
}
});
}
此侦听器被正确调用。第一个选择的元素也是正确的类型。
我正在设置接收端的另一部分:
@Inject
public void setBS(@Named(IServiceConstants.ACTIVE_SELECTION) @Optional BS bs) {
if (bs == null) {
/* implementation not shown */
} else {
/* implementation not shown */
}
}
然而,在管道的这一端没有收到任何东西。我做错了什么或者我怎么能调试这个?