Top

SWT/JFace 인 액션 [이클립스 스타일로 만드는 자바 GUI 애플리케이션]

  • 원서명SWT/JFace in Action: GUI Design with Eclipse 3.0 (ISBN 1932394273)
  • 지은이Matthew Scarpino, Stephen Holder, Stanford Ng
  • 옮긴이제갈호준, 이선아
  • 감수자양석호
  • ISBN : 8989975972
  • 30,000원
  • 2006년 07월 27일 펴냄
  • 페이퍼백 | 504쪽 | 190*255mm
  • 시리즈 : 이클립스 프로페셔널

책 소개

빠르고 강력한 자바 GUI 라이브러리인 SWT/JFace로 간단한 위젯에서 복잡한 애플리케이션까지 이클립스 기반 애플리케이션을 구축하기 위해 필요한 기반지식을 상세히 설명하고 이에 대한 실전 예제를 풍부하게 제공하고 있다. 그밖에 이클립스 RCP, Draw2D, GEF 등 다양한 내용을 다루고 있다.


[ 이 책의 특징 ]

이클립스 그래픽 라이브러리인 SWT와 JFace를 사용하면 날렵하고 효과적인 자바 GUI 애플리케이션을 개발할 수 있다. 또한 Draw2D와 GEF를 쓰면 정적인 애플리케이션을 뛰어 넘어 강력한 기능을 자랑하는 시각적인 편집기를 창조할 수 있다. 리치 클라이언트 플랫폼(RCP)으로 기존 인터페이스의 기능을 훨씬 능가하는 자신만의 워크벤치를 구축할 수 있다.
SWT/JFace 인 액션은 간단한 위젯에서 복잡한 그래픽 애플리케이션까지 폭넓은 내용을 다룬다. 이클립스 기반 GUI를 개발하는 과정을 배울 수 있으며, 사용자가 감탄할만한 강력한 기능의 애플리케이션을 구축할 수 있는 방법도 살펴볼 수 있다. 저자들은 경험에서 우러나온 지식을 유용하고 읽기 쉬운 형식으로 독자들과 공유하고자 노력했다.
이 책은 독자가 직접 실행해보며 배울 수 있게 구성하였다. 실제 애플리케이션에서 어떻게 SWT/JFace가 작동하는지 예제 코드에서 직접 확인할 수 있다. 이러한 예제들은 독자의 이해를 도울 뿐 아니라, 실제 애플리케이션에서 바로 가져다 쓸 수 있을 만큼 실용적이다.


[ 이 책의 구성 ]

이 책은 SWT와 JFace에 포함된 각 컴포넌트의 세부사항을 보여주는 예제 애플리케이션인 WidgetWindow를 개발하는 과정을 중심으로 구성되어 있다. 애플리케이션은 각 장에서의 정보를 담은 코드 들이 묶음으로 이뤄져 있으며, 각 장의 마지막 부분에서는 WidgetWindow 프로젝트에 추가할 수 있는 코드를 제공한다. 초반부에 해당하는 장이 애플리케이션의 기초를 만드는 부분이기는 하지만, 앞 장의 코드가 없어도 책 후반부 각 장의 코드는 독립적으로 동작할 수 있다. 따라서 독자들이 각자 관심 있는 주제에만 집중할 수 있기를 바란다. 그리고 위젯 윈도우 애플리케이션의 프레임워크를 사용해서 코드를 만들고 각 컴포넌트에 입력되는 다양한 매개변수의 효과를 확인할 수 있게 되기 바란다.
책 전반에 걸쳐 툴을 소개하는 것 외에, 다음과 같은 SWT/JFace의 여러 기능에 대해 다루겠다.

(1) SWT와 JFace의 관계: 이 두 라이브러리를 처음 접하게 될 때, 언제 어떤 것을 사용해야 하는지, JFace가 왜 필요한지를 이해하기란 쉽지 않은 일이다. 두 라이브러리의 공통되는 부분에 대해 설명하고, 코딩을 통해 각 장단점을 시연하겠다.
(2) GUI 개발과 관련된 원칙: 이 툴을 사용하면서, GUI 개발을 간단하게 할 수 있는 많은 방법을 알게 되었다. 또한 SWT/JFace가 문서의 설명과 다른 방식으로 동작하는 상황을 수없이 많이 겪어 보았다. 독자들이 우리가 겪은 전철을 되풀이 하지 않도록 SWT/JFace 애플리케이션 개발을 위한 실용적인 예제를 제공하겠다.
(3) 플랫폼 호환성 개발: SWT와 JFace를 이용하면 사용자 인터페이스를 여러 방법으로 만들 수 있다. 어떤 함수는 각 운영체제에서 호환이 되지만, 그렇지 않은 경우도 있다. 애플리케이션이 어떤 형태로 출력되는지 보여주기 위해 여러 윈도우 플랫폼을 캡쳐한 그림을 함께 보여준다.
(4) 실용적인 코드 예제: 이 책의 예제 코드를 만들 때, 두 가지 우선순위를 뒀다.
첫째, 독자들이 실제 체험할 수 있도록 코드를 간결하게 만들어야 하며, 둘째, SWT/JFace 애플리케이션 개발에서 사용할 수 있게 하기 위해서 모듈화된 형태로 제공해야 한다는 것이다.
(5) SWT/JFace를 기반으로 하는 툴셋: Draw 2D와 GEF(Graphical Editor Framework) 툴셋을 꼼꼼히 둘러본 책은 이 책이 처음일 것이다. SWT와 JFace의 기능을 기반으로 하는 이 라이브러리는 GUI 디자인 능력과 유연성을 증가시킨다.


[ 이 책의 대상 ]

이 책은 고급 자바 개발자로 가는 중급 개발자에 맞게 쓰여졌다. 독자는 기본 자바 문법을 충분히 인지하고 있으며, 최선의 해결책이 없을 때 차선책을 고려할 수 있는 능력이 있다고 가정했다.
자바 등의 언어를 사용한 그래픽 애플리케이션 개발 경험이 있다면 도움이 될 수도 있겠지만, 이 책을 읽기 위해 반드시 필요한 것은 아니다. 사용하려는 각 위젯의 기술적 세부사항을 명시할 뿐만 아니라 처음 나오는 용어는 모두 정의하며 각 위젯의 목적을 명확히 설명하도록 노력했다. 그러나 이 책은 사용자 인터페이스 설계를 위한 책은 아니기 때문에, 기술된 위젯 이상의 사용자 경험을 요구하는 부분까지 자세하게 다루지는 않겠다.
독자 대부분이 스윙에 경험이 있다고 가정하겠지만, 이 책을 즐기기에 반드시 필요한 것은 아니다. 스윙 전문가들에게 좀더 깊은 이해를 제공하기 위해 스윙과 SWT/JFace를 비교하긴 하지만, 각 주제에서 다루고 있는 설명에 비하면 이러한 비교는 부차적인 것에 불과하다. 독자가 스윙 코드 한 줄 프로그램하지 않고도 이 책의 모든 주제를 이해할 수 있을 거라 확신한다.

저자/역자 소개

[ 저자 소개 ]

■ Matt Scarpino

소프트웨어 설계 부분에서 10년의 경력을 쌓았다. 그는 재구성 가능한 편집용 소프트웨어를 만들기 위해 이클립스를 사용하고, 이클립스 그래픽 라이브러리에 코드를 제출한다. Matt은 텍사스의 포트 워스에 살고 있다.

■ Stephen Holder

엔터프라이즈급 자바 프로젝트를 수행하는 기업과 정부를 대상으로 컨설팅을 하는 소프트웨어 엔지니어다. 개발 프로세스를 능률적으로 개선시키는 이클립스 플러그인을 개발하는 일도 하고 있는 Stephen은 현재 캘리포니아 터스틴에 살고 있다.

■ Stanford Ng

Nuglu, LLC의 공동 설립자로서, 5위권의 e-commerce 사이트인 Automotive.com에서 백 엔드 시스템 기능 향상을 담당하고 있다. 로버트 니데퍼 박사와 함께하는 International award-winning Proxy/MAM 연구 프로젝트의 공동 제안자이기도 한 Stanford는 현재 캘리포니아 얼바인에 거주 중이다.

■ Laurent Mihalkovic

C/C++/Java/COM을 이용한 디자인 솔루션 분야에서 10년간 일한 기술 컨설턴트이다. 그는 현재 캐나다 밴쿠버와 토론토 중간 지점에 살고 있다.


[ 저자 서문 ]

이 책을 쓰는 목적은 단 한 가지, SWT와 JFace 툴셋을 간단하면서도 명쾌하게 소개하기 위함이다. 지금까지 문서들이 SWT와 JFace 라이브러리의 많은 부분을 다루고 있지만, 실망스럽게도 아직까지 체계적으로 정리되지 않은 부분이 많았다(특히 그래픽과 관련해서는 더욱 그렇다). 그래서 2003년 말 우리 저자 4명은 SWT/JFace에 관한 고차원적인 이론과 통합된 개발 툴에 대해 좀더 자세히 다루는 책을 쓰기 위해 의기투합하게 됐다.
eclipse.org 구성원의 노고 덕분에, SWT와 JFace는 자바 커뮤니티에서 주목을 받기 시작했고, 논쟁의 대상이 되기도 했다. 대부분은 Java 2 platform의 표준 컴포넌트인 스윙과 원시코드를 사용하는 비표준 라이브러리인 SWT의 장점을 비교하는 데에 집중되었다. 그러나 다시 생각해 보면, SWT/JFace를 사용한다는 것은 “한번 작성하면 어디서든 실행돼야 한다(write once run anywhere)”라는 자바 개발자들의 모토와는 맞지 않는 접근방법인 셈이다. 그러나 스윙이 아무리 장점이 많다 하더라도, 애플리케이션 사용자 인터페이스를 개발할 때, 스윙과 SWT/JFace 중 어느 것을 선택해야 할지는 굉장히 고민스런 일일 것이다.
이 책은 스윙 개발자뿐 아니라 단순한 커맨드 입력 창을 탈피한 화려한 애플리케이션을 만들고 싶어하는 초보 자바 개발자들을 위한 책이다. 예제 코드를 제공하고 그래픽 사용자 인터페이스 개발을 위한 기본적인 이론을 설명하기 위해 최선을 다했으며, 특히 그래픽 애플리케이션의 신뢰성과 유지보수성을 높이는 모델-뷰-컨트롤러 패러다임에 대해 깊이 설명했다.
SWT로 개발했던 여러 경험을 독자들과 공유하고자 노력했으니, SWT와 JFace를 채택한 프로젝트를 수행할 때 많은 도움이 되어 SWT/JFace의 효율적인 사용에 보탬이 되길 바란다.

- Matt Scarpino


[ 역자 소개 ]

■ 제갈호준

국민대 컴퓨터학과 학사를 마치고 삼성전자 가전연구소 S/W Lab에서 임베디드 시스템 소프트웨어 개발을 했으며, 벤처기업에서 애플리케이션 개발을 하고 삼성 멤버쉽에서 활동한 경험도 있다. 현재는 아이오와 주립대 컴퓨터 사이언스 박사과정에 재학중이다.

■ 이선아

이화여대 전산과 학사, 석사 과정을 졸업했으며 삼성전자 기술총괄 소프트웨어 연구소에서 6년간 SE팀과 개발팀에서 근무했다. 카네기 멜론대와 한국 정보 통신대에서 공동으로 설립한 MSE 과정을 졸업하고 현재 브리티시 콜롬비아 대의 박사 과정에 재학 중이다. 주요 관심사는 소프트웨어 아키텍처, 소프트웨어 역공학, 프로그램 분석 연구이다.

[ 역자 서문 ]

『SWT/JFace 인 액션』 책을 처음 접한 것은 이클립스 플러그인 소프트웨어 중 하나인 리플렉션 프로그램의 코드를 분석하던 때였다. 코드 중 그래픽 사용자 인터페이스 부분을 구분하기 위한 기본 상식을 닦고자 SWT/JFace에 관련한 책을 웹에서 뒤졌는데, 많은 책이 있었지만 그 중 초심자가 체계적으로 배울 수 있는 책이라는 어구에 나를 확 끌어당겼다. 그렇게 처음 만나게 된 이 책은 역시나 내 기대를 저버리지 않았다.
『SWT/JFace 인 액션』은 코드와 설명이 절묘하게 어우러진 책이다. 프로그래밍 책들은 일반적으로 개념에 따라 단편적인 코드를 보이거나 매우 긴 코드를 넣어 놓고 코드를 설명하지만, 양 쪽 방식 모두 독자들에게는 불편할 뿐이다. 개념을 이해한다 쳐도 이를 어떻게 활용해야 할지를 파악하려면 오랜 시간이 걸리며, 또한 긴 코드를 설명과 비교하면서 읽는 것도 고역이다. 『SWT/JFace 인 액션』의 저자들은 각 장의 개념과 코드를 어떻게 배치할지 오랜 시간 고민해 하나의 프로젝트를 고안했으며 각 장마다 조금씩 살을 붙여 나아갔다. 아무리 역설해도 이 책을 직접 읽기 전에는 이 책의 방식이 얼마나 이해하기 쉬운지 의심스러운 눈초리로 바라볼 수밖에는 없을 것이다. 하지만 이러한 의혹은 이 책을 직접 손에 들고 간결하고 쉬운 설명과 핵심적인 예제를 직접 접해 보면 저절로 풀릴 것이다.
역자로서 독자들이 가장 쉽게 이해할 수 있는 글로 옮기고자 노력했다. 여러 번역서를 탐탁하지 않게 여겼던 만큼 첫 번역서로서 그런 경험을 독자들이 느끼지 않도록 노력했으나 막상 해보니 생각만큼 쉽지는 않은 작업이었다. 혹시 있을지 모를 오류는 역자에게 메일을 보내거나 에이콘출판사 홈페이지의 오탈자 신고 페이지를 이용하기 바란다.

- 이선아


[ 감수자 소개 ]

■ 양석호 javanese@naver.com

KAIST 전산과를 졸업하고, 웹, 모바일, 임베디드, 자바 GUI 애플리케이션 등 다양한 프로젝트를 수행했다. 모바일 애플리케이션 개발 도구를 이클립스 기반으로 만들다가 이클립스에 완전히 매료되었으며 현재 네이버 이클립스 플러그인 까페(http://cafe.naver.com/eclipseplugin)를 운영하고 있다.

목차

목차
  • 1장 SWT와 JFace의 개요
    • 1.1 SWT/JFace는 무엇인가?
      • [1.1.1] SWT를 이용한 GUI 구축
      • [1.1.2] JFace를 이용한 GUI 개발 간소화
    • 1.2 좀더 깊이 살펴보기
      • [1.2.1] 영원한 후보선수, 스윙
      • [1.2.2] 떠오르는 신예, SWT/JFace
      • [1.2.3] SWT냐 스윙이냐
    • 1.3 SWT/JFace: 라이센싱과 플랫폼 지원
      • [1.3.1] Eclipse Public License
      • [1.3.2] 지원 플랫폼
    • 1.4 WidgetWindow
    • 1.5 요약
  • 2장 SWT와 JFace로 시작하기
    • 2.1 SWT 프로그래밍
      • [2.1.1] HelloSWT 프로그램
      • [2.1.2] Display 클래스
      • [2.1.3] Shell 클래스
    • 2.2 SWT/JFace 프로그래밍
      • [2.2.1] 모델 기반 어댑터
      • [2.2.2] HelloSWT_JFace 프로그램
      • [2.2.3] JFace와 SWT/JFace의 코딩
      • [2.2.4] ApplicationWindow 클래스
    • 2.3 WidgetWindow 애플리케이션 시작하기
    • 2.4 요약
  • 3장 위젯: 1부
    • 3.1 Widget과 Control 클래스의 소개
      • [3.1.1] Widget의 이해
      • [3.1.2] Control 객체로 작업하기
    • 3.2 레이블
      • [3.2.1] 스타일과 구분자
      • [3.2.2] Label 메소드
    • 3.3 버튼과 사용자 동작
      • [3.3.1] 푸시 버튼과 SWT.PUSH
      • [3.3.2] 화살표 버튼과 SWT.ARROW
      • [3.3.3] 토글 버튼과 SWT.TOGGLE
      • [3.3.4] 체크 버튼과 SWT.CHECK
      • [3.3.5] 라디오 버튼과 SWT.RADIO
    • 3.4 컴포지트를 이용한 컴포넌트의 포함
      • [3.4.1] Composite 클래스의 이해
      • [3.4.2] Group
      • [3.4.3] SashForm
      • [3.4.4] TabFolder
    • 3.5 WidgetWindow 업데이트
      • [3.5.1] Ch3_Composite 클래스 생성
      • [3.5.2] WidgetWindow의 TabFolder 생성
    • 3.6 요약
  • 4장 이벤트 처리
    • 4.1 SWT에서의 이벤트 처리
      • [4.1.1] 유형 리스너와 이벤트 사용
      • [4.1.2] 어댑터
      • [4.1.3] 키보드 이벤트
      • [4.1.4] 무형 이벤트로 맞춤 이벤트 처리하기
      • [4.1.5] SWT 리스너/이벤트 애플리케이션
    • 4.2 JFace의 이벤트 처리
      • [4.2.1] 액션과 컨트리뷰션 이해하기
      • [4.2.2] Action 클래스 생성
      • [4.2.3] ApplicationWindow에서 컨트리뷰션 구현하기
      • [4.2.4] 컨트리뷰션과 연결하기
      • [4.2.5] Action 클래스 살펴보기
    • 4.3 WidgetWindow 업데이트
      • [4.3.1] 4장의 Composite 빌드하기
      • [4.3.2] Ch_Composite 추가하기
    • 4.4 요약
  • 5장 위젯: 2부
    • 5.1 SWT를 이용한 텍스트 편집
      • [5.1.1] 기본 Text 위젯
      • [5.1.2] StyledText 위젯
    • 5.2 JFace의 텍스트 지원
      • [5.2.1] JFace 텍스트 패키지 획득
      • [5.2.2] TextViewer와 문서
      • [5.2.3] JFace 예제
    • 5.3 Combo 위젯
    • 5.4 ToolBarManager
      • [5.4.1] ControlContribution
      • [5.4.2] 툴바의 수동 생성
    • 5.5 CoolBar
    • 5.6 슬라이더
    • 5.7 ProgressBar
    • 5.8 ProgressIndicator
    • 5.9 요약
  • 6장 레이아웃
    • 6.1 필 레이아웃
    • 6.2 행 레이아웃
      • [6.2.1] 각 레이아웃 셀의 사용자 지정
    • 6.3 그리드 레이아웃
      • [6.3.1] GridData
    • 6.4 폼 레이아웃
      • [6.4.1] 폼 데이터의 사용
      • [6.4.2] FormAttachment를 사용한 관계 명시
      • [6.4.3] 폼 레이아웃을 사용한 컨트롤의 배치
    • 6.5 맞춤 레이아웃
      • [6.5.1] 레이아웃의 크기 계산
      • [6.5.2] 위젯 배치
      • [6.5.3] WidgetWindow 업데이트
    • 6.6 요약
  • 7장 그래픽
    • 7.1 그래픽 컨텍스트
      • [7.1.1] GC 객체의 생성
      • [7.1.2] Canvas에 도형 그리기
      • [7.1.3] 페인팅과 PaintEvent
      • [7.1.4] 클립핑과 캔버스 스타일
    • 7.2 색상 프로그래밍
      • [7.2.1] SWT로 색상 개발하기
      • [7.2.2] JFace로 색상 관련 추가 기능
    • 7.3 폰트를 사용한 텍스트 표시
      • [7.3.1] SWT의 폰트 사용
      • [7.3.2] 폰트의 코딩
      • [7.3.3] JFace의 향상된 폰트 관리
    • 7.4 그래픽에 이미지 통합
      • [7.4.1] 이미지의 할당
      • [7.4.2] 이미지를 이용한 그래픽 코딩
      • [7.4.3] ImageData를 이용한 비트맵의 생성
      • [7.4.4] ImageData를 이용한 이미지 조작
      • [7.4.5] JFace를 이용한 이미지 관리
    • 7.5 WidgetWindow 업데이트
      • [7.5.1] 7장의 컴포지트 구축
      • [7.5.2] WidgetWindow에 Ch7_Composite의 추가
    • 7.6 요약
  • 8장 트리와 리스트
    • 8.1 뷰어와 뷰어 프레임워크
      • [8.1.1] 프로바이더
      • [8.1.2] 리스너
      • [8.1.3] 필터와 정렬기
    • 8.2 트리
      • [8.2.1] SWT 트리
      • [8.2.2] JFace TreeViewer
    • 8.3 리스트 위젯의 사용
      • [8.3.1] SWT 리스트
      • [8.3.2] JFace ListViewer
    • 8.4 WidgetWindow 업데이트
    • 8.5 요약
  • 9장 테이블과 메뉴
    • 9.1 테이블
      • [9.1.1] SWT 테이블 이해하기
      • [9.1.2] JFace TableViewer
    • 9.2 메뉴의 생성
      • [9.2.1] 단축키
      • [9.2.2] SWT에서 메뉴 생성
      • [9.2.3] JFace 액션을 이용한 메뉴의 추가
    • 9.3 WidgetWindow 업데이트
    • 9.4 요약
  • 10장 대화창
    • 10.1 SWT 대화창
      • [10.1.1] ColorDialog
      • [10.1.2] DirectoryDialog
      • [10.1.3] FileDialog
      • [10.1.4] FontDialog
      • [10.1.5] MessageBox
    • 10.2 JFace 대화창
      • [10.2.1] 메시지 대화창
      • [10.2.2] 에러 대화창
      • [10.2.3] 입력 대화창
      • [10.2.4] 진행 모니터 대화창
      • [10.2.5] 맞춤 대화창
    • 10.3 WidgetWindow 업데이트
    • 10.4 요약
  • 11장 마법사
    • 11.1 멀티페이지 대화창
      • [11.1.1] IDialogPage 인터페이스
      • [11.1.2] IWizardPage 인터페이스
      • [11.1.3] WizardPage 클래스
    • 11.2 마법사
      • [11.2.1] IWizard 인터페이스
      • [11.2.2] Wizard 클래스
    • 11.3 통합 작업
      • [11.3.1] 마법사 컨테이너
      • [11.3.2] WizardDialog 클래스
    • 11.4 마법사 결합하기
      • [11.4.1] WizardSelectionPage 클래스
      • [11.4.2] IWizardNode 인터페이스
    • 11.5 마법사 데이터 유지
      • [11.5.1] DialogSettings 클래스
    • 11.6 WidgetWindow 업데이트
    • 11.7 요약
  • 12장 고급 기능
    • 12.1 데이터 전송
      • [12.1.1] Transfer 클래스
      • [12.1.2] 드래그앤드롭 기능
      • [12.1.3] 클립보드 사용
      • [12.1.4] 파일 시스템 브라우저
    • 12.2 사용자 환경설정
      • [12.2.1] 환경설정 페이지
      • [12.2.2] 필드 편집기
      • [12.2.3] 환경설정 페이지 컨테이너
      • [12.2.4] 환경설정 저장
    • 12.3 레이블 데코레이터
      • [12.3.1] ILabelDecorator 인터페이스
      • [12.3.2] DecoratingLabelProvider 클래스
      • [12.3.3] 예제
    • 12.4 Browser 위젯
    • 12.5 요약
  • 13장 리치 클라이언트 플랫폼: 이클립스 RCP
    • 13.1 RCP 워크벤치 이해
      • [13.1.1] 편집기를 사용한 데이터 입력
      • [13.1.2] 뷰를 이용한 정보의 표시
      • [13.1.3] 퍼스펙티브로 편집기와 뷰 통합하기
    • 13.2 RCP: 독립형 애플리케이션 만들기
      • [13.2.1] RCP 프로젝트의 생성과 설정
      • [13.2.2] 애플리케이션 클래스 만들기
      • [13.2.3] WorkbenchAdvisor 추가
    • 13.3 뷰와 퍼스펙티브 추가
      • [13.3.1] 뷰 구축
      • [13.3.2] 퍼스펙티브로 워크벤치 윈도우 배치
      • [13.3.3] RCP 애플리케이션 실행
      • [13.3.4] RCP 과정 검토
    • 13.4 이클립스 폼 위젯으로 폼 생성
      • [13.4.1] 폼 툴킷과 이클립스 폼 컨테이너 사용
      • [13.4.2] 하이퍼링크를 이용한 텍스트 기반 이벤트의 발생
    • 13.5 독립형 RCP 애플리케이션 만들기
      • [13.5.1] RCPExample을 애플리케이션 디렉토리로 내보내기
      • [13.5.2] 애플리케이션 디렉토리에 플러그인 추가
      • [13.5.3] 애플리케이션 실행
    • 13.6 요약
  • 부록 A SWT/JFace로 프로젝트 만들기
  • 부록 B SWT/JFace에서의 OLE와 액티브X
  • 부록 C Draw2D를 이용한 가변형 GUI

관련 블로그 글

SWT에서 RCP까지 이클립스 애플리케이션 개발서 세트

SWT/JFace 인 액션: 이클립스 스타일로 만드는 자바 GUI 애플리케이션』과 『이클립스 RCP: 설계에서 구현, 배포까지 자바 GUI 애플리케이션 개발의 모든 것』두 권의 책이『SWT에서 RCP까지 이클립스 애플리케이션 개발서 세트』로 묶였습니다.

이 두 책은 SWT/JFace와 RCP 등 이클립스 플랫폼 개발에 대한 최신 기술을 다루는 국내 유일의 번역서들이기에 이클립스 개발자들에게 많은 사랑을 받고 있는 책입니다. 둘이 하나가 되니 조금은 홀가분한 가격에 구입하실 수 있게 됐습니다. :)


여기서 잠깐 에이콘 이클립스 프로페셔널 시리즈 에디터 양석호님의 말씀을 들어보겠습니다. 이클립스를 공부하거나 실전에서 활용하시는 분들께 많은 도움이 되기 바랍니다.

▷▶ 두 책이 중복되는 내용은 없나요?

이 두 권의 책은 각각 이클립스 RCP 개발에 꼭 필요한 내용을 모두 담고 있으면서도 신기하게도 둘의 내용은 거의 중복되지 않습니다. 이클립스 RCP의 핵심 구성 요소 중 하나가 SWT/JFace이긴 하지만, 『이클립스 RCP』에서는 플랫폼을 강조하다보니 UI 프로그래밍의 상세 내용을 다루지는 않기 때문입니다. 또한 『SWT/JFace 인 액션』으로 SWT/JFace를 상세히 학습했더라도, 그럴듯한 애플리케이션의 면모를 갖추려면 SWT/JFace 만으로는 한계를 느낄 수도 있습니다.

이처럼 두 책은 서로 부족한 부분을 다루고 있을 뿐만 아니라, 학습서 성격의 『이클립스 RCP』와 API 참조문서 성격의 『SWT/JFace 인 액션』은 스타일조차도 서로 보완하고 있습니다.

▷▶  두 권을 어떻게 활용하면 좋을까요?

처음 시작하는 개발자라면 『SWT/JFace 인 액션』의 전반부에서 SWT를 활용한 GUI 프로그래밍을 살짝 맛본 다음, 『이클립스 RCP』에서 완벽한 형태의 GUI 애플리케이션을 개발해 보고, 『SWT/JFace 인 액션』의 후반부에서 좀 더 다양한 SWT/JFace 관련 주제에 대해 익히는 순서가 적당할 것입니다.
CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

[ p6 '스윙의 설계 구조' 절 6행 ]
그러므로 사용자 인터페이스의 ~ UI 위임자를 포함한다.
→ 그러므로 사용자 인터페이스의 각 요소인 버튼, 프레임, 레이블 등에 대해 스윙은 컴포넌트의 상태를 보관하는 모델을 위한 메모리와, 외관을 제어하고 이벤트에 대해 반응하는 UI 위임자에 대한 메모리를 각각 할당한다.

[ p31 표 3.3 1행 1열 ]
Contol 메소드 → Control 메소드

[ p31 표 3.3 3행 1열 ]
getLocation(int, int) → setLocation(int, int)

[ p63 아래에서 3행 ]
Actionb 클래스
→ Action 클래스

[ p68 마지막행 ]
ConributionManager → ContributionManager

[ p75 예제4.5 7행 ]
public class WidgetWindow extends Window {
→ public class WidgetWindow extends ApplicationWindow {

[ p91 아래에서 11행 ]
마지막으로, CompletionTextEditor는 우리의 메인 클래스이다.
→ 마지막 클래스인 Ch5CompletionEditor가 이번 예제의 메인 클래스이다.

[ p174 아래에서 14행 ]
정할 수 기회가
→ 정할 수 있는 기회가

[ p174 마지막 문단 1행 ]
변경으로정렬한
→ 변경으로 정렬한

[ p196 '에러 처리에 대한 언급' 절 3행 ]
예뢰를
→ 예외를

[ p206 1문단 3행, 2문단 1행, 3문단 1행 ]
createPane() → buildControls()

[ p338 아래에서 7행 ]
받아드리고
→ 받아들이고

[ p372아래에서 2행 ]
FreeformLayerdPane
→ FreeformLayeredPane

[ p374 9행 ]
오직 확장성에 흥미가 있다.
→ 일단 화면 확장 기능만 고려하고 있다.

[ p405 'EditDomain과 Tool' 절 3행 ]
추적한다,
→ 추적한다.