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를 비교하긴 하지만, 각 주제에서 다루고 있는 설명에 비하면 이러한 비교는 부차적인 것에 불과하다. 독자가 스윙 코드 한 줄 프로그램하지 않고도 이 책의 모든 주제를 이해할 수 있을 거라 확신한다.
[ 이 책의 특징 ]
이클립스 그래픽 라이브러리인 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를 비교하긴 하지만, 각 주제에서 다루고 있는 설명에 비하면 이러한 비교는 부차적인 것에 불과하다. 독자가 스윙 코드 한 줄 프로그램하지 않고도 이 책의 모든 주제를 이해할 수 있을 거라 확신한다.
목차
목차
- 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 요약
- 1.1 SWT/JFace는 무엇인가?
- 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 요약
- 2.1 SWT 프로그래밍
- 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 요약
- 3.1 Widget과 Control 클래스의 소개
- 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 요약
- 4.1 SWT에서의 이벤트 처리
- 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 요약
- 5.1 SWT를 이용한 텍스트 편집
- 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 요약
- 7.1 그래픽 컨텍스트
- 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 요약
- 8.1 뷰어와 뷰어 프레임워크
- 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 요약
- 9.1 테이블
- 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 요약
- 10.1 SWT 대화창
- 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 요약
- 11.1 멀티페이지 대화창
- 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 요약
- 12.1 데이터 전송
- 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 요약
- 13.1 RCP 워크벤치 이해
- 부록 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 관련 주제에 대해 익히는 순서가 적당할 것입니다.
크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
도서 오류 신고
정오표
[ 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행 ]
추적한다,
→ 추적한다.
그러므로 사용자 인터페이스의 ~ 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행 ]
추적한다,
→ 추적한다.