목차
추천의 글 ... ⅳ
역자 소개 ... ⅵ
역자 서문 ... ⅶ
저자 소개 ... ⅷ
저자 서문 ... ⅸ
감사의 글 ... ⅹ
들어가며 ... xx
1장 SWT와 JFace의 개요 ... 1
   1.1 SWT/JFace는 무엇인가? ... 2
      [1.1.1] SWT를 이용한 GUI 구축 ... 3
      [1.1.2] JFace를 이용한 GUI 개발 간소화 ... 3
   1.2 좀더 깊이 살펴보기 ... 4
      [1.2.1] 영원한 후보선수, 스윙 ... 4
      [1.2.2] 떠오르는 신예, SWT/JFace ... 7
      [1.2.3] SWT냐 스윙이냐 ... 9
   1.3 SWT/JFace: 라이센싱과 플랫폼 지원 ... 9
      [1.3.1] Eclipse Public License ... 9
      [1.3.2] 지원 플랫폼 ... 10
   1.4 WidgetWindow ... 11
   1.5 요약 ... 12
2장 SWT와 JFace로 시작하기 ... 13
   2.1 SWT 프로그래밍 ... 14
      [2.1.1] HelloSWT 프로그램 ... 14
      [2.1.2] Display 클래스 ... 16
      [2.1.3] Shell클래스 ... 18
   2.2 SWT/JFace 프로그래밍 ... 20
      [2.2.1] 모델 기반 어댑터 ... 20
      [2.2.2] HelloSWT-JFace 프로그램 ... 21
      [2.2.3] JFace와 SWT/JFace의 코딩 ... 23
      [2.2.4] Application Window 클래스 ... 23
   2.3 WidgetWindow 애플리케이션 시작하기 ... 24
   2.4 요약 ... 26
3장 위젯: 1부 ... 27
   3.1 Widget과 Control 클래스의 소개 ... 28
      [3.1.1] Widget의 이해 ... 28
      [3.1.2] Control 객체로 작업하기 ... 30
   3.2 레이블 ... 32
      [3.2.1] 스타일과 구분자 ... 32
      [3.2.2] Label 메소드 ... 33
   3.3 버튼과 사용자 동작 ... 34
      [3.3.1] 푸시 버튼과 SWT.PUSH ... 34
      [3.3.2] 화살표 버튼과 SWT.ARROW ... 35
      [3.3.3] 토글 버튼과 SWT.TOGGLE ... 35
      [3.3.4] 체크 버튼과 SWT.CHECK ... 36
      [3.3.5] 라디오 버튼과 SWT.RADIO ... 36
   3.4 컴포지트를 이용한 컴포넌트의 포함 ... 38
      [3.4.1] Composite 클래스의 이해 ... 38
      [3.4.2] Group ... 40
      [3.4.3] SashForm ... 42
      [3.4.4] TabFolder ... 44
   3.5 WidgetWindow 업데이트 ... 45
      [3.5.1] Ch3_Composite 클래스 생성 ... 45
      [3.5.2] WidgetWindow의 TabFolder 생성 ... 46
   3.6 요약 ... 47
4장 이벤트 처리 ... 48
   4.1 SWT에서의 이벤트 처리 ... 49
      [4.1.1] 유형 리스너와 이벤트 사용 ... 50
      [4.1.2] 어댑터 ... 54
      [4.1.3] 키보드 이벤트 ... 55
      [4.1.4] 무형 이벤트로 맞춤 이벤트 처리하기 ... 58
      [4.1.5] SWT 리스너/이벤트 애플리케이션 ... 60
   4.2 JFace의 이벤트 처리 ... 62
      [4.2.1] 액션과 컨트리뷰션 이해하기 ... 63
      [4.2.2] Action 클래스 생성 ... 65
      [4.2.3] ApplicationWindow에서 컨트리뷰션 구현하기 ... 66
      [4.2.4] 컨트리뷰션과 연결하기 ... 69
      [4.2.5] Action 클래스 살펴보기 ... 70
   4.3 WidgetWindow 업데이트 ... 74
      [4.3.1] 4장의 Composite 빌드하기 ... 74
      [4.3.2] Ch_Composite 추가하기 ... 75
   4.4 요약 ... 77
5장 위젯: 2부 ... 78
   5.1 SWT를 이용한 텍스트 편집 ... 79
      [5.1.1] 기본 Text 위젯 ... 79
      [5.1.2] StyledText 위젯 ... 82
   5.2 JFace의 텍스트 지원 ... 88
      [5.2.1] JFace 텍스트 패키지 획득 ... 88
      [5.2.2] TextViewer와 문서 ... 89
      [5.2.3] JFace 예제 ... 91
   5.3 Combo 위젯 ... 100
   5.4 ToolBarManager ... 101
      [5.4.1] ControlContribution ... 102
      [5.4.2] 툴바의 수동 생성 ... 102
   5.5 CoolBar ... 103
   5.6 슬라이더 ... 104
   5.7 ProgressBar ... 106
   5.8 ProgressIndicator ... 107
   5.9 요약 ... 108
6장 레이아웃 ... 109
   6.1 필 레이아웃 ... 110
   6.2 행 레이아웃 ... 112
      [6.2.1] 각 레이아웃 셀의 사용자 지정 ... 114
   6.3 그리드 레이아웃 ... 116
      [6.3.1] GridData ... 117
   6.4 폼 레이아웃 ... 119
      [6.4.1] 폼 데이터의 사용 ... 120
      [6.4.2] FormAttachment를 사용한 관계 명시 ... 121
      [6.4.3] 폼 레이아웃을 사용한 컨트롤의 배치 ... 122
   6.5 맞춤 레이아웃 ... 124
      [6.5.1] 레이아웃의 크기 계산 ... 125
      [6.5.2] 위젯 배치 ... 126
      [6.5.3] WidgetWindow 업데이트 ... 128
   6.6 요약 ... 132
7장 그래픽 ... 133
   7.1 그래픽 컨텍스트 ... 134
      [7.1.1] GC객체의 생성 ... 134
      [7.1.2] Canvas에 도형 그리기 ... 136
      [7.1.3] 페인팅과 PaintEvent ... 138
      [7.1.4] 클립핑과 캔버스 스타일 ... 139
   7.2 색상 프로그래밍 ... 140
      [7.2.1] SWT로 색상 개발하기 ... 140
      [7.2.2] JFace로 색상 관련 추가 기능 ... 144
   7.3 폰트를 사용한 텍스트 표시 ... 145
      [7.3.1] SWT의 폰트 사용 ... 145
      [7.3.2] 폰트의 코딩 ... 148
      [7.3.3] JFace의 향상된 폰트 관리 ... 150
   7.4 그래픽에 이미지 통합 ... 152
      [7.4.1] 이미지의 할당 ... 152
      [7.4.2] 이미지를 이용한 그래픽 코딩 ... 154
      [7.4.3] ImageData를 이용한 비트맵의 생성 ... 155
      [7.4.4] ImageData를 이용한 이미지 조작 ... 158
      [7.4.5] JFace를 이용한 이미지 관리 ... 163
   7.5 WidgetWindow 업데이트 ... 164
      [7.5.1] 7장의 컴포지트 구축 ... 164
      [7.5.2] WidgetWindow에 Ch7_Composite의 추가 ... 165
   7.6 요약 ... 166
8장 트리와 리스트 ... 167
   8.1 뷰어와 뷰어 프레임워크 ... 158
      [8.1.1] 프로바이더 ... 170
      [8.1.2] 리스너 ... 172
      [8.1.3] 필터와 정렬기 ... 173
   8.2 트리 ... 176
      [8.2.1] SWT 트리 ... 176
      [8.2.2] JFace TreeViewer ... 177
   8.3 리스트 위젯의 사용 ... 180
      [8.3.1] SWT 리스트 ... 180
      [8.3.2] JFace ListViewer ... 181
   8.4 WidgetWindow 업데이트 ... 182
   8.5 요약 ... 189
9장 테이블과 메뉴 ... 190
   9.1 테이블 ... 191
      [9.1.1] SWT 테이블 이해하기 ... 191
      [9.1.2] JFace TableViewer ... 194
   9.2 메뉴의 생성 ... 200
      [9.2.1] 단축키 ... 201
      [9.2.2] SWT에서 메뉴 생성 ... 201
      [9.2.3] JFace 액션을 이용한 메뉴의 추가 ... 204
   9.3 WidgetWindow 업데이트 ... 205
   9.4 요약 ... 211
10장 대화창 ... 212
   10.1 SWT 대화창 ... 213
      [10.1.1] ColorDialog ... 213
      [10.1.2] DirectoryDialog ... 214
      [10.1.3] FileDialog ... 215
      [10.1.4] FontDialog ... 216
      [10.1.5] MessageBox ... 216
   10.2 JFcce 대화창 ... 218
      [10.2.1] 메시지 대화창 ... 219
      [10.2.2] 에러 대화창 ... 220
      [10.2.3] 입력 대화창 ... 222
      [10.2.4] 진행 모니터 대화창 ... 224
      [10.2.5] 맞춤 대화창 ... 228
   10.3 WidgetWindow 업데이트 ... 230
   10.4 요약 ... 233
11장 마법사 ... 234
   11.1 멀티페이지 대화창 ... 235
      [11.1.1] IDialogPage 인터페이스 ... 236
      [11.1.2] IWizardPage 인터페이스 ... 237
      [11.1.3] WizardPage 클래스 ... 237
   11.2 마법사 ... 239
      [11.2.1] IWizard 인터페이스 ... 239
      [11.2.2] Wizard 클래스 ... 240
   11.3 통합 작업 ... 241
      [11.3.1] 마법사 컨테이너 ... 241
      [11.3.2] WizardDialog 클래스 ... 242
   11.4 마법사 결합하기 ... 243
      [11.4.1] WizardSelectionPage 클래스 ... 243
      [11.4.2] IWizardNode 인터페이스 ... 244
   11.5 마법사 데이터 유지 ... 244
      [11.5.1] DialogSettings 클래스 ... 245
   11.6 WidgetWindow 업데이트 ... 246
   11.7 요약 ... 252
12장 고급 기능 ... 253
   12.1 데이터 전송 ... 254
      [12.1.1] Transfer 클래스 ... 255
      [12.1.2] 드래그앤드롭 기능 ... 256
      [12.1.3] 클립보드 사용 ... 261
      [12.1.4] 파일 시스템 브라우저 ... 262
   12.2 사용자 환경설정 ... 268
      [12.2.1] 환경설정 페이지 ... 268
      [12.2.2] 필드 편집기 ... 270
      [12.2.3] 환경설정 페이지 컨테이너 ... 272
      [12.2.4] 환경설정 저장 ... 274
   12.3 레이블 데코레이터 ... 276
      [12.3.1] ILabelDecorator 인터페이스 ... 276
      [12.3.2] DecoratingLabelProvider 클래스 ... 277
      [12.3.3] 예제 ... 277
   12.4 Browser 위젯 ... 280
   12.5 요약 ... 283
13장 리치 클라이언트 플랫폼: 이클립스 RCP ... 284
   13.1 RCP 워크벤치 이해 ... 285
      [13.1.1] 편집기를 사용한 데이터 입력 ... 285
      [13.1.2] 뷰를 이용한 정보의 표시 ... 287
      [13.1.3] 퍼스펙티브로 편집기와 뷰 통합하기 ... 288
   13.2 RCP: 독립형 애플리케이션 만들기 ... 288
      [13.2.1] RCP 프로젝트의 생성과 설정 ... 289
      [13.2.2] 애플리케이션 클래스 만들기 ... 290
      [13.2.3] WorkbenchAdvisor 추가 ... 292
   13.3 뷰와 퍼스펙티브 추가 ... 294
      [13.3.1] 뷰 구축 ... 294
      [13.3.2] 퍼스펙티브로 워크벤치 윈도우 배치 ... 295
      [13.3.3] RCP 애플리케이션 실행 ... 297
      [13.3.4] RCP 과정 검토 ... 298
   13.4 이클립스 폼 위젯으로 폼 생성 ... 300
      [13.4.1] 폼 툴킷과 이클립스 폼 컨테이너 사용 ... 300
      [13.4.2] 하이퍼링크를 이용한 텍스트 기반 이벤트의 발생 ... 303
   13.5 독립형 RCP 애플리케이션 만들기 ... 307
      [13.5.1] RCPExample을 애플리케이션 디렉토리로 내보내기 ... 307
      [13.5.2] 애플리케이션 디렉토리에 플러그인 추가 ... 308
      [13.5.3] 애플리케이션 실행 ... 309
   13.6 요약 ... 309
부록A SWT/JFace로 프로젝트 만들기 ... 311
부록B SWT/JFace에서의 OLE와 액티브X ... 324
부록C Draw2D를 이용한 가변형 GUI ... 362
부록D 그래픽 편집 프레임워크(GEF) ... 389
찾아보기 ... 465
닫기