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