我需要显示一些与TableViewer表中单击的行或单元格相关的信息。
据我所知,我可以在 viewer.addDoubleClickListener()中使用(TableViewer)event.getViewer()来检索被点击的当前行或单元格的数据。如果我错了,请纠正我。
但我的 run()功能位于 private void makeActions(),我无法访问该事件。我怎样才能克服这个问题?
private void hookDoubleClickAction()
{
viewer.addDoubleClickListener(new IDoubleClickListener()
{
public void doubleClick(DoubleClickEvent event)
{
//TableViewer chek = (TableViewer) event.getViewer();
doubleClickAction.run();
}
});
}
private void makeActions()
{
doubleClickAction = new Action()
{
public void run()
{
}
}
}
答案 0 :(得分:0)
将TableViewer
作为主类中的字段引用(或将其作为参数传递给动作构造函数)。然后,您可以使用以下方式从操作中的查看器中获取当前选择:
IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();