반응형
Eclipse RCP SWT Image Path 지정 방법
일반적으로 RCP 플러그인 프로젝트를 사용하게 되면 패키지 내부에 있는 패키지의 경로가 절대경로가 아닌 상대경로로 지정되기 때문에 패스 지정 방식을 달리 해주어야 합니다.
보통 프로젝트 설정에서 프로젝트 경로를 고정하고
/resource/image1.png 이런 식으로 특정 패키지의 이미지 경로를 지정하게 되지만,
RCP 플러그인 프로젝트에서는 Bundle의 고유 ID를 이용하는 방식을 사용합니다.
RCP 플러그인 프로젝트를 사용하다보면
View에 SWT 패키지 내부의 컴포넌트를 이용해서 디자인을 하게 되고,
Image나 아이콘을 사용하게 될 일이 생기는데, 아래와 같은 코드를 입력함으로서
프로젝트에 포함시켜두었던 이미지 경로를 지정해주면 됩니다.
public class ImageUtil extends AbstractUIPlugin {
public static ImageDescriptor mensuration1;
static {
Bundle bundle = Platform.getBundle("SmartSityProject"); // aka your
IPath imagePath = new Path("resource/mensuration1.png");
URL imageUrl = Platform.find(bundle, imagePath);
mensuration1 = ImageDescriptor.createFromURL(imageUrl);
}
}
ImageUtil이라는 클래스를 별도로 생성하고, 그곳에 static 정적 변수로 ImageDescriptor 속성의 변수를 선언했습니다.
RCP프로젝트 - plugin.xml - Overview - General Information의 ID 값을 확인하고
Bundle 객체를 초기화 해주는데,
해당 아이디와 일치하는 플랫픔에서 imagePath를 찾아 URL을 반환해주는 것으로
상대적인 이미지 경로를 얻어낼 수 있습니다.
반응형
'Java > RCP&GEF' 카테고리의 다른 글
Eclipse 4 RCP 정리 (0) | 2020.09.09 |
---|---|
Eclipse RCP란? (0) | 2020.07.27 |
[GEF] Eclipse GEF 3.11 다운로드 방법 (0) | 2020.04.02 |
Eclipse GEF - Editor를 화면에 띄우는 방법 (0) | 2020.04.02 |
Eclipse RCP - plugin.xml에서 View의 데이터 다른 View로 옮기기 (0) | 2020.04.01 |