Bonjour je voudrais lister le contenu de mon disque c dans un treeviewer, j'ai suivi un tut me permettant de le faire mais malgré cela rien n'apparait dans me vue et je n'ai pas de message particuliers
Voici mon code pour ceux qui veulent m'aidé et merci d'avance.
ma vue:
...
private TreeViewer treeViewer;
private IAdapterFactory adapterFactory = new MyAdapterFactory();
public void createPartControl(Composite parent) {
// TODO Auto-generated method stub
treeViewer = new TreeViewer(parent, SWT.BORDER
| SWT.MULTI | SWT.V_SCROLL);
Platform.getAdapterManager().registerAdapters(adapterFactory, File.class);
getSite().setSelectionProvider(treeViewer);
treeViewer.setLabelProvider(new WorkbenchLabelProvider());
treeViewer.setContentProvider(new BaseWorkbenchContentProvider());
treeViewer.setInput(new File("c:\\"));
}
...
et voici ma classe qui implement IAdapterFactory qui me permet de fournir le contenu a mon treeviewer:
import java.io.File;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.model.IWorkbenchAdapter;
public class MyAdapterFactory implements IAdapterFactory {
public LogescoAdapterFactory() {
super();
// TODO Auto-generated constructor stub
}
private IWorkbenchAdapter fileContentAdapter = new IWorkbenchAdapter() {
public Object getParent(Object o) {
return ((File)o).getParent();
}
public String getLabel(Object o) {
return ((File)o).getName();
}
public ImageDescriptor getImageDescriptor(Object object) {
return null;
}
public Object[] getChildren(Object o) {
Object[] kids = ((File)o).listFiles();
return kids == null ? new Object[0] : kids;
}
};
public Object getAdapter(Object adaptableObject, Class adapterType) {
// TODO Auto-generated method stub
if(adapterType == IWorkbenchAdapter.class &&
adaptableObject instanceof File)
return fileContentAdapter;
return null;
}
public Class[] getAdapterList() {
// TODO Auto-generated method stub
return new Class[] {IWorkbenchAdapter.class};
}
j'arrive a faire apparaitre la structure de mon disque c: en implémentant ITreeContentProvider et LableProvider. Mais pas avec IWorkbenchAdapter. Je pense que le probleme se situe au niveau de l'implémentation de getLabel.
Merci a ceux qui pourront m'aider
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.