이 이미지 목록 공급자를 축소판 공급자로 변경하는 데 문제가 있습니다. 필요한 경우 나는 그것을 위해 View도 게시 할 것이다.Eclipse RCP ListProvider 조정
public Object[] getElements(Object inputElement) {
if (iDirname == null)
return null;
File dir = new File(iDirname);
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File directory, String filename) {
if (filename.endsWith("jpg") || (filename.endsWith("bmp")) || (filename.endsWith("png") || (filename.endsWith("JPG") || (filename.endsWith("BMP")) || (filename.endsWith("PNG")))))
return true;
else
return false;
}
};
String[] dirList = null;
if (dir.isDirectory()) {
dirList = dir.list(filter);
for (int i=0; i<dirList.length;++i){
//dirList2[i] = new Image(device, dirList2[i]); added this to try passing array of Images - failed.
dirList[i] = iDirname + File.separatorChar + dirList[i];
}
}
return dirList;
}
내가 표시하는 썸네일로 제공되는 경로 목록을 변경하는 방법을 모르는보기
public void createPartControl(Composite parent) {
iViewer = new ListViewer(parent);
iViewer.setContentProvider(new DirListProvider());
getSite().setSelectionProvider(iViewer);
makeActions();
hookContextMenu();
contributeToActionBars();
}
. 제공된 콘텐트를 Array로 가져와 이미지를 만드는 과정을 반복해야합니까? 그렇다면 어떻게?
미리 도움을 주셔서 감사합니다.
편집 :
나는ImageDescriptor[] dirList = null;
if (dir.isDirectory()) {
String[] dirList2 = dir.list(filter);
for (int i=0; i<dirList2.length;++i){
dirList[i] = ImageDescriptor.createFromImageData(new ImageData(iDirname + File.separatorChar + dirList2[i]));
//dirList[i] = iDirname + File.separatorChar + dirList[i];
}
}
return dirList;
을 추가하지만 전혀 아무것도 표시되지 않습니다.
Composite
을 사용한다고 말하면 부모 변수입니까? ListProvider
에 의해 전달 된 경로에서 이미지를 표시하는 방법을 여전히 모르겠습니다. 나는 이것에서 실제로 녹색이다 :/
+1 멋진 추가 정보. –
그게 내가 찾고있는 것이라고 생각하지만,'LabelProvider'는'GetElements'가 누락되어'ListProvider'와 같은 방식으로 작동할까요? – Seb
'LabelProvider'와'ContentProvider'는 두 개의 분리 된 기능과 보완적인 기능을합니다 - 내용을 제공하고 그 내용을 나타내는 텍스트/아이콘 등을 제공합니다. 참조 : http://wiki.eclipse.org/FAQ_What_are_content_and_label_providers%3F –