2014-04-16 2 views
1

어떻게 Eclipse SWT에 사용자 정의 이미지를 추가 할 수 있습니까? ImageDescriptor를 사용해 보았습니다. 하지만 아마 뭔가 잘못 됐을거야.Eclipse SWT에 사용자 정의 이미지 추가

private Action stopAction; 
stopAction.setText("Stop"); 
     stopAction.setToolTipText("Stop running"); 


     stopAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages(). 
       getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK)); 

     ImageDescriptor imgDesc = null; 
     try { 
      imgDesc = ImageDescriptor.createFromURL(new URL("icons/stop.png")); 
     } catch (MalformedURLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     stopAction.setImageDescriptor(imgDesc); 
+0

예외가 있습니까? 그 결과는 무엇입니까? 그리고 원하는 결과는 무엇입니까? – Baz

+0

@Baz 예외는 다음과 같습니다. java.net.MalformedURLException : 프로토콜 없음 : icons/stop.png 원하는 결과가 버튼에 사용자 정의 이미지를 얻었으므로이 stopAction.setImageDescriptor (PlatformUI.getWorkbench(). getSharedImages() 대신에 사용하십시오. getImageDescriptor (ISharedImages.IMG_OBJS_INFO_TSK)); 동일한 프로젝트의 forlder에있는 사용자 정의 이미지를로드하려면 아래 코드를 사용하십시오. – user1097772

답변

3

이 플러그인 사용 파일에서 이미지 설명을로드하려면 :

final URL fullPathString = FileLocator.find(bundle, new Path("icons/stop.png"), null); 

ImageDescriptor imgDesc = ImageDescriptor.createFromURL(fullPathString); 

bundle는 플러그인 번들이고, 당신의 액티베이터에서이 문제를 얻거나 :

Bundle bundle = Platform.getBundle("plugin id"); 

돈 ' icons 폴더를 build.properties 파일에 추가하여 빌드 된 플러그인에 포함되도록하십시오.

+0

Thx,하지만 플러그인 ID는 무엇입니까 ?? 어떤 방법으로 전화를 걸 수는 없나요? – user1097772

+1

플러그인에 대해 MANIFEST.MF에서 정의한 ID입니다. MANIFEST.MF/plugin.xml 편집기에서 개요 페이지의 ID 필드입니다. –

관련 문제