기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

Eclipse RCP SWT Image Path 지정 방법
Java/RCP&GEF

Eclipse RCP SWT Image Path 지정 방법

2020. 7. 27. 13:19
반응형

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
    'Java/RCP&GEF' 카테고리의 다른 글
    • Eclipse 4 RCP 정리
    • Eclipse RCP란?
    • [GEF] Eclipse GEF 3.11 다운로드 방법
    • Eclipse GEF - Editor를 화면에 띄우는 방법
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바