0

我需要顯示一些與TableViewer表中的行或單元格相關的信息。訪問TableViewer的DoubleCLickListener中的行數據

據我明白,我可以在viewer.addDoubleClickListener(使用(TableViewer的)event.getViewer()以檢索當前行或單元的數據被點擊。糾正我,如果我錯了。

但我的run()功能是在我無法訪問事件私人無效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

在你的主類的TableViewer的引用作爲一個字段(或將其作爲參數傳遞給動作的構造函數)。然後,您可以使用以下方式從查看器中獲取當前的選擇:

IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();