Java 文件名显示在tableviewer中,但当选择特定列时,应检索文件位置以在Eclipse4中处理文件?

Java 文件名显示在tableviewer中,但当选择特定列时,应检索文件位置以在Eclipse4中处理文件?,java,eclipse,eclipse-rcp,e4,Java,Eclipse,Eclipse Rcp,E4,使用Filedialog选择文件集并将其显示在复选框表查看器中。然后我想处理我在checkboxtableviewer中签入的那些文件 public void setTableInput(File[] selectedFiles) { for(int i = 0;i <selectedFiles.length; i++) { tableViewer.add(selectedFiles[i].getName()); }

使用
Filedialog
选择文件集并将其显示在复选框表查看器中。然后我想处理我在checkboxtableviewer中签入的那些文件

public void setTableInput(File[] selectedFiles) {

    for(int i = 0;i <selectedFiles.length; i++)
    {
        tableViewer.add(selectedFiles[i].getName());                
    }
    tableViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            Object[] filesSelected = tableViewer.getCheckedElements();
            for(Object filename : filesSelected){
                System.out.println("values "+ (String)filename);
            }
        }
    });
}
public void setTableInput(文件[]selectedFiles){

对于(int i=0;i您需要使用内容和标签提供程序,以便可以将
文件
数组设置为表输入

public void setTableInput(File[] selectedFiles) 
{
  tableViewer.setContentProvider(ArrayContentProvider.getInstance());

  tableViewer.setLabelProvider(new FileLabelProvider());

  tableViewer.setInput(selectedFiles);

  tableViewer.addCheckStateListener(new ICheckStateListener() 
  {
    @Override
    public void checkStateChanged(CheckStateChangedEvent event)
    {
      Object[] filesSelected = tableViewer.getCheckedElements();

      for (Object fileObj : filesSelected)
       {
         File file = (File)fileObj;

         System.out.println("values "+ file.getPath());
       }
    }
  });
}    


private static class FileLabelProvider extends LabelProvider
{
  @Override
  public String getText(final Object element)
  {
    File file = (File)element;

    return file.getName();
  }
}