簡體   English   中英

文件名顯示在tableviewer中,但是當選擇特定的列時,應檢索文件位置以在Eclipse e4中處理文件嗎?

[英]filename is displayed in tableviewer but when selected particular column the file location should be retrieved for processing the file in eclipse e4?

使用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);
            }
        }
    });
}

對於我在此處編寫的代碼,我只能獲取文件名,如果我想根據選擇復選框中的文件名來獲取文件位置,請問誰能告訴我如何繼續?

提前致謝

您需要使用內容和標簽提供程序,以便可以將File數組設置為表輸入。

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();
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM