JFace 개발을 위한 환경 설정

Posted 2009.01.05 19:30

 이 글은 지난 글인 SWT를 위한 환경 설정에서 이어진다. 작성한 org.eclipse.swt 프로젝트에 라이브러리와 소스를 추가함으로써 JFace를 작성할 수 있는 환경을 구성해보자.

 작성한 테스트용 프로젝트인 MyProject를 열고 프로젝트 속성(Properties)를 확인해 보자. Library 탭을 보면, swt.jar만이 라이브러리 명단에 포함되어 있음을 알 수 있다. 그렇다면, 자연스레 다음과 같은 생각이 들 것이다.

그럼 JFace는? (최경주 골퍼의 모 광고 패러디다.--;)

 그렇다. 기존에 작성한 SWT 개발 환경만으로는 JFace Application을 작성할 수 없다. 이번 환경 설정에서 할 일은 기존의 환경에 JFace Application 작성 시 필요한 라이브러리와 소스를 추가하는 것이다.

 우선 위와 같이 기존 org.eclipse.swt 프로젝트의 Properties > Java Build Path 에서 Libraries 탭을 누르고 Add Variable을 선택한다. 그러면 다음 화면과 같이 각종 경로를 정의한 변수들을 볼 수 있다.

 우리는 Eclipse 의 설치 경로를 나타내는 ECLIPSE_HOME 변수를 사용할 것이다. 이를 선택하고 "Extend" 버튼을 누른다. 그러면 Eclipse 설치 폴더를 기준으로 하위 폴더를 선택할 수 있다. (다른 말로, ECLIPSE_HOME 이 가리키는 폴더를 중심으로 하위 폴더로 선택을 확장 해 나갈 수 있다.)

 

 plugins 폴더를 찾아보면 org.eclipse.jface로 시작하는 jar 파일이 있다. 이를 추가한다.

 여기서 많은 이들이 쉽게 놓치는 주의 사항이 하나 있다. 이렇게 관련 라이브러리를 추가하면 끝나는 것이 아니라, 추가한 JFace 라이브러리를 외부로 노출하여야 한다. 그래야 MyProject 와 같이 org.eclipse.swt 프로젝트를 사용하는 외부 프로젝트에서 사용할 수 있다.


 Java Build Path의 Order and Export 탭에서 다음과 같이 jface관련 라이브러리를 노출한다.

 JFace는 이 이외에도 몇 몇 라이브러리를 추가로 요구한다. 동일한 요령으로 JFace를 동작하기 위한 필수 라이브러리인 org.eclipse.equinox.common_xxx.jarorg.eclipse.core.commands_xxx.jar 를 외부로 노출(Export) 시켜준다. 최종 모습은 다음과 같다.

 그럼 MyProject 인 형태의 JFace 클래스를 작성해 보자. (참고로, 이전 SWT환경 설정에서 MyProject를 BuildPath에 org.eclipse.swt를 잡아주었다) 클래스명은 JFaceTest로 다음과 같이 작성한다.

import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.widgets.Display;

public class JFaceTest extends ApplicationWindow{
 public JFaceTest() {
  super(null);
 }

 public static void main(String[] args) { 
  JFaceTest window = new JFaceTest();

  window.setBlockOnOpen(true);
  window.open();
  Display.getCurrent().dispose();
 }
}

이를 실행시키면 다음과 같은 화면을 볼 수 있다.

 일단 실행 환경은 다 작성하였지만, 문제가 하나 있다. 작성한 소스에서 CTRL + 마우스 왼쪽 클릭을 이용하여 ApplicationWindow의 소스를 확인해보자.

 위 화면과 같이 org.eclipse.jface_xxx.jar의 ApplicationWindow 소스는 첨부되어 있지 않다고 나올 것이다. 특정한 자바 라이브러리를 공부하면서 소스를 보지 않고 학습한다는 것은 학습 자체의 한계를 가져온다.

 다음과 같이 소스를 첨부할 수 있다.

 org.eclipse.swt 프로젝트에서 Properties > Java Build Path 를 선택하고 Libraries 탭을 보면 org.eclipse.jface_xxx.jar 가 보인다. 이를 화면에서 + 표시를 눌러 tree를 확장하면 다음과 같이 Source Attachment 항목 을 볼수 있다. Edit 버튼을 눌러 이를 수정한다.

 변수 명을 이용하여 적절한 소스의 위치를 지정할 것이다. 이클립스 plugins 폴더에 소스파일도 같이 있으므로 ECLIPSE_HOME 변수를 선택하고 Extension(확장) 버튼을 누른다.

아래와 같이 plugins\org.eclipse.jface.source_xxx.jar를 선택한다.

 이제 소스가 첨부되었으므로, 다시 한번 ApplicationWindow 클래스의 소스 보기를 시도하여 보자.

 JFace 라이브러리 내부에 있는 ApplicationWindow의 소스를 확인할 수 있다.

 위에서 보았듯이, 이클립스 플러그인의 소스는 주로 플러그인명.source의 형태로 제공된다. org.eclipse.jface_xxx.jar 이외에도 다른 SWT/JFace 개발 관련 라이브러리들도 필요시 같은 형태로 소스를 찾아 첨부해주면 된다.

 예를 들면, org.eclipse.jface.text_xxx.jar 를 필요에 의해 라이브러리로추가했다면, 해당 라이브러리에 org.eclipse.jface.text.souce_xxx.jar 를 소스 첨부하면 된다.

신고
« PREV : 1 : ··· : 28 : 29 : 30 : 31 : 32 : 33 : 34 : 35 : 36 : ··· : 87 : NEXT »

티스토리 툴바