我想在 RCP 中创建 tableviewer,但我不知道如何获得“复合父级”。我有这个代码:
@PostConstruct
public void createComposite(Composite parent) {
Books.generateBooks();
Map<String, Books> allBooks = Books.returnAllBooks();
List<String> booksList = new ArrayList<String>(allBooks.keySet());
tableViewer = new TableViewer(parent);
for(int i=0; i<booksList.size(); i++) {
tableViewer.add(booksList.get(i));
}
tableViewer.addDoubleClickListener(new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event) {
IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
if (selection.isEmpty()) return;
BibliotekaSzczegolyPart.createComposite(selection.getFirstElement().toString());
}
});
tableViewer.getTable().setLayoutData(new GridData(GridData.FILL));
}
它在我的部分创建表格视图,并在表格位置添加 DoubleClickListener。现在我想在另一个类中创建函数 createComposite,我想在双击后激活它,但是我没有“Composite parent”,因为它不是@PostConstruct。如何得到它?