| 000 | 00000nam c2200205 c 4500 | |
| 001 | 000000707577 | |
| 005 | 20170601102530 | |
| 007 | ta | |
| 008 | 010608s2001 ulka 001c kor | |
| 020 | ▼a 8980544324 ▼g 93000 | |
| 040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 049 | 1 | ▼l 111186556 ▼f 개가 ▼l 121053426 ▼f 과학 |
| 082 | 0 4 | ▼a 005.133 ▼2 21 |
| 085 | ▼a 005.133 ▼2 DDCK | |
| 090 | ▼a 005.133 ▼b 2001o | |
| 100 | 1 | ▼a Robinson, Matthew, ▼d 1974- |
| 245 | 1 0 | ▼a 스윙 / ▼d Matthew Robinson, ▼e Pavel Vorobiev 공저 ; ▼e 이재신, ▼e 현진호, ▼e 이지영 공역 |
| 246 | 1 9 | ▼a Swing |
| 260 | ▼a 서울 : ▼b 인포북, ▼c 2001 | |
| 300 | ▼a 1138 p. : ▼b 삽화 ; ▼c 26 cm | |
| 500 | ▼a 부록: 정보의 리소스 외 | |
| 504 | ▼a 참고문헌(p. [1109]-1117)과 색인수록 | |
| 650 | 0 | ▼a Java (Computer program language) |
| 700 | 1 | ▼a Vorobiev, Pavel A., ▼e 저 |
| 700 | 1 | ▼a 이재신, ▼e 역 |
| 700 | 1 | ▼a 현진호, ▼e 역 |
| 700 | 1 | ▼a 이지영, ▼e 역 |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.133 2001o | 등록번호 111186556 (31회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/보존서고5(동양서)/ | 청구기호 005.133 2001o | 등록번호 121053426 (47회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.133 2001o | 등록번호 111186556 (31회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/보존서고5(동양서)/ | 청구기호 005.133 2001o | 등록번호 121053426 (47회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
자바 스윙을 사용하여 플랫폼에 독립적이고 강력하고 복잡한 GUI를 만들 수가 있다. 이전의 교재들에서는 실제 사용 가능한 스위의 응용 프로그램은 독자들이 직접 구현을 해야만 했다. 하지만 이 책은 스윙의 응용 프로그램과 더불어 경험있는 개발자를 대상으로 스윙의 강력허고 유연한 기능을 사용할 수 있도록 하였다.
이 책은 먼저 스윙 컴포넌트들을 설명하는 것으로 시작한다. 다음으로 어떻게 스윙 컴포넌트를 사용하는지에 대해 설명한다. 이 책에서 제시하고 있는 예제는 스윙의 특징들이 서로 연관되고 반영된 코드로 구성학자 하였다. 또한 스윙의 버그와 풀리지 않은 문제에 대한 해결책을 제시한다.
정보제공 :
저자소개
Matthew Robinson(지은이)
<Swing 스윙>
Ravel Vorobiez(지은이)
<Swing 스윙>
이재신(옮긴이)
<Swing 스윙>
현진호(옮긴이)
<Swing 스윙>
이지영(옮긴이)
현재 서경대학교 미래융합학부 AI/빅데이터전공(소프트웨어학과) 부교수로 재직 중이다. 빅데이터&AI 프로젝트 컨설턴트와 프로젝트 관리기술사로 활동하며 인공지능교육원에서 교육 콘텐츠를 개발하고 있다. 대표 저서로 『자바로 배우는 쉬운 자료구조』(2009년 우수학술도서 선정), 『C로 배우는 쉬운 자료구조(4판)』 등이 있다. 주요 연구 분야는 소프트웨어공학, 머신러닝/딥러닝 알고리즘, 딥러닝 기반 자연어 처리이며 자료구조, 빅데이터 마이닝, 데이터 크롤링, 머신러닝 분석 등을 강의하고 있다.
목차
목차 역자의 말 = 1 저자의 말 = 27 시작하면서 = 29 감사의 글 = 33 표지 삽화에 대하여 = 35 용어 대역표 = 36 PART Ⅰ 기초 다지기(Foundations) 1 스윙 개요 1.1 AWT = 47 1.2 스윙 = 48 1.2.1 Z-order = 48 1.2.2 플랫폼으로부터의 독립 = 49 1.2.3 스윙 패키지 개요 = 50 1.3 MVC 구조 = 51 1.3.1 모델(Model) = 52 1.3.2 뷰(View) = 52 1.3.3 컨트롤러(Controller) = 52 1.3.4 사용자 정의 뷰와 콘트롤러 = 53 1.3.5 사용자 정의 모델 = 54 1.4 UI Delegates와 PLAF = 56 1.4.1 ComponentUI 클래스 = 56 1.4.2 플러거블 룩앤필(Pluggable look and feel) = 58 1.4.3 UI delegate 위상 = 58 2 스윙 메카닉스 2.1 JCOMPONENT 프로퍼티, 크기, 위치 = 61 2.1.1 프로퍼티 = 61 2.1.2 크기와 위치 = 64 2.2 이벤트 핸들링과 처리 = 66 2.2.1 EvenListenerList = 67 2.2.2 이벤트 처리 쓰레드 = 67 2.3 멀티 쓰레드 처리 = 68 2.3.1 특별한 경우들 = 71 2.3.2 어떻게 쓰레드 안전 메소드를 구현하는가? = 71 2.3.3 invokeLater()와 invokeAndWait() 메소드 동작 원리 = 72 2.4 타이머 = 74 2.5 APPCONTEXT 서비스들 = 76 2.6 타이머 내부와 TIMERQUEUE = 78 2.7 자바빈즈 구조 = 79 2.7.1 자바빈즈 컴포넌트 모델 = 79 2.7.2 자기 관찰 = 79 2.7.3 프로퍼티 = 80 2.7.4 커스트마이제이션(Customization) = 80 2.7.5 통신(Communication) = 81 2.7.6 지속성(Persistency) = 81 2.7.7 단순한 스윙 기반 자바빈 만들기 = 82 2.8 폰트, 색상, 그래픽, 텍스트 = 87 2.8.1 폰트(Fonts) = 87 2.8.2 색상(Colors) = 89 2.8.3 그래픽스와 텍스트 = 90 2.9 그래픽스 클리핑 영역 = 97 2.10 그래픽스 디버깅 = 100 2.10.1 그래픽스 디버깅 옵션 = 101 2.10.2 그래픽스 디버깅 사용시 주의사항 = 103 2.10.3 그래픽스 디버깅 적용해 보기 = 104 2.11 페인팅과 유효성(VALIDATION) = 107 2.11.1 더블 버퍼링 = 107 2.11.2 최적화하여 그리기 = 108 2.11.3 루트 유효성 검사 = 109 2.11.4 RepaintManager = 110 2.11.5 Revalidation = 111 2.11.6 Repainting = 112 2.11.7 Painting = 113 2.12 포커스 관리 = 116 2.12.1 FocusManager = 117 2.12.2 DefaultFocusManager = 118 2.12.3 포커스 변화 이벤트 = 119 2.13 키보드 입력, KEYSTROKES, ACTIONS = 120 2.13.1 키보드 입력 = 120 2.13.2 KeyStrokes = 121 2.13.3 Actions = 123 2.13.4 키보드 입력의 처리 과정 = 124 2.14 스윙 유틸리티 = 125 2.14.1 영역 계산 메소드 = 125 2.14.2 전환 메소드 = 125 2.14.3 접근 메소드 = 126 2.14.4 획득 메소드 = 127 2.14.5 멀티 쓰레드/이벤트 관련 메소드 = 128 2.14.6 마우스 버튼 메소드 = 128 2.14.7 레이아웃/렌더링/UI 메소드 = 128 PART Ⅱ 기본(basics) 3 프레임, 패널, 보더 3.1 프레임과 패널 개요 = 133 3.1.1 JFrame = 133 3.1.2 JRootPane = 134 3.1.3 RootLayout = 136 3.1.4 RootPaneContainer 인터페이스 = 136 3.1.5 WindowConstants 인터페이스 = 136 3.1.6 WindowListener 인터페이스 = 137 3.1.7 WindowEvent = 137 3.1.8 WindowAdapter = 137 3.1.9 사용자 정의 프레임 아이콘 = 139 3.1.10 프레임을 화면 중앙으로 보내기 = 139 3.1.11 JApplet = 140 3.1.12 JWindow = 140 3.1.13 JPanel = 140 3.2 보더 = 141 3.2.1 보더 내부 = 146 3.3 사용자 정의 보더 만들기 = 147 3.3.1 코드 이해하기 = 149 3.3.2 코드 실행하기 = 150 4 레이아웃 관리자 4.1 레이아웃 개요 = 151 4.1.1 LayoutManager = 152 4.1.2 LayoutManager2 = 152 4.1.3 BoxLayout = 153 4.1.4 Box = 153 4.1.5 Filler = 153 4.1.6 FlowLayout = 154 4.1.7 GridLayout = 154 4.1.8 GridBagLayout = 155 4.1.9 BorderLayout = 155 4.1.10 CardLayout = 156 4.1.11 JPanel = 156 4.2 레이아웃 관리자 비교 = 156 4.2.1 코드 이해하기 = 159 4.2.2 코드 실행하기 = 159 4.3 GRIDBAGLAYOUT 다루기 = 160 4.3.1 기본 GridBagLayout 동작 = 160 4.3.2 GridBagConstraints 소개 = 160 4.3.3 gridx, gridy, insets, ipadx, ipady 제한 속성 다루기 = 161 4.3.4 weightx와 weighty 제한 속성 다루기 = 162 4.3.5 gridwidth와 gridheight 제한 속성 다루기 = 164 4.3.6 anchor 제한 속성 다루기 = 164 4.3.7 fill 제한 속성 다루기 = 166 4.3.8 불편 접수 다이얼로그 만들기 = 167 4.3.9 간단한 헬퍼 클래스 만들기 = 172 4.4 적절한 레이아웃 고르기 = 178 4.4.1 코드 이해하기 = 183 4.4.2 코드 실행하기 = 185 4.5 사용자 정의 레이아웃 관리자, part Ⅰ : 레이블/필드 쌍 = 186 4.5.1 코드 이해하기 = 190 4.5.2 코드 실행하기 = 193 4.6 사용자 정의 레이아웃 관리자, part Ⅱ : 공동 인터페이스 = 194 4.6.1 코드 이해하기 = 203 4.6.2 코드 실행하기 = 208 4.7 자바빈즈 컨테이너의 동적 레이아웃 = 208 4.7.1 코드 이해하기 = 221 4.7.2 코드 실행하기 = 224 5 레이블과 버튼 5.1 레이블과 버튼 개요 = 227 5.1.1 JLabel = 227 5.1.2 텍스트 정렬 = 229 5.1.3 아이콘들과 아이콘 정렬 = 229 5.1.4 GrayFilter = 230 5.1.5 "labelFor"와 "displayedMnemonic" 프로퍼티 = 230 5.1.6 AbstractButton = 230 5.1.7 ButtonModel 인터페이스 = 231 5.1.8 JButton = 231 5.1.9 JToggleButton = 233 5.1.10 ButtonGroup = 234 5.1.11 JCheckBox과 JRadioButton = 235 5.1.12 JToolTip과 ToolTipManager = 235 5.1.13 HTML 텍스트를 지닌 레이블과 버튼 = 236 5.2 사용자 정의 버튼, part Ⅰ : 투명 버튼 = 238 5.2.1 코드 이해하기 = 241 5.2.2 코드 실행하기 = 244 5.3 사용자 정의 버튼 part Ⅱ : 다각형 버튼 = 246 5.3.1 코드 이해하기 = 251 5.3.2 코드 이해하기 = 253 5.4 사용자 버튼 part Ⅲ : 툴팁 관리 = 256 5.4.1 코드 이해하기 = 259 5.4.2 코드 실행하기 = 262 6 탭 페인 6.1 JTabbedPane = 263 6.2 동적으로 변화하는 탭 페인 = 265 6.2.1 코드 이해하기 = 269 6.2.2 코드 실행하기 = 271 6.2.3 JTabbedPane 특성들 = 272 6.3 사용자 정의에 따라 구현된 JTABBEDPANE과 TABBEDPANE UI delegate = 272 6.3.1 코드 이해하기 = 277 6.3.2 코드 실행하기 = 279 7 스크롤 페인 7.1 JSCROLLPANE = 281 7.1.1 ScrollPaneConstants 인터페이스 = 283 7.1.2 JViewport = 283 7.1.3 ScrollPaneLayout = 284 7.1.4 Scrollable 인터페이스 = 288 7.2 그랩앤드래그(GRAP-AND-DRAG) 스크롤링 = 290 7.2.1 코드 이해하기 = 292 7.3 애플리케이션에 따른 스크롤 = 293 7.3.1 코드 이해하기 = 297 7.3.2 코드 실행하기 = 300 8 스플릿 페인 8.1 JSplitPane = 301 8.2 기본 스플릿 페인 만들기 = 302 8.2.1 코드 이해하기 = 304 8.2.2 코드 실행하기 = 305 8.3 스플릿 페인을 이용한 가스 모델 시뮬레이션 = 305 8.3.1 코드 이해하기 = 310 8.3.2 코드 실행하기 = 313 9 콤보박스 9.1 JCOMBOBOX = 315 9.1.1 ComboBoxModel 인터페이스 = 318 9.1.2 MutableComboBoxModel 인터페이스 = 318 9.1.3 DefaultComboBoxModel = 319 9.1.4 ListCellRenderer 인터페이스 = 319 9.1.5 DefaultListCellRenderer = 319 9.1.6 ComboBoxEditor 인터페이스 = 320 9.2 기본 JComboBox 만들기 = 320 9.2.1 코드 이해하기 = 326 9.2.2 코드 실행하기 = 328 9.3 사용자 정의 모델과 렌더러 = 328 9.3.1 코드 이해하기 = 334 9.3.2 코드 실행하기 = 337 9.4 메모리를 지는 콤보박스 만들기 = 338 9.4.1 코드 이해하기 = 343 9.4.2 코드 실행하기 = 346 9.5 사용자 정의 에디터 = 347 9.5.1 코드 이해하기 = 349 9.5.2 코드 실행하기 = 349 10 리스트박스 10.1 리스트 API 개요 = 351 10.1.1 ListModel 인터페이스 = 354 10.1.2 AbstractListModel = 354 10.1.3 DefaulListModel = 354 10.1.4 ListSelectionModel 인터페이스 = 355 10.1.5 DefaultListSelectionModel = 356 10.1.6 ListCellRenderer 인터페이스 = 356 10.1.7 ListDataListener 인터페이스 = 356 10.1.8 ListDataEvent = 356 10.1.9 ListSelectionListener 인터페이스 = 356 10.1.10 ListSelectionEvent = 357 10.2 기본 JLIST 만들기 = 357 10.2.1 코드 이해하기 = 359 10.2.2 코드 실행하기 = 359 10.3 사용자 정의 렌더링 = 360 10.3.1 코드 이해하기 = 363 10.3.2 코드 실행하기 = 365 10.4 키보드 입력처리와 탐색 = 366 10.4.1 코드 이해하기 = 367 10.4.2 코드 실행하기 = 368 10.5 체크박스 리스트 = 369 10.5.1 코드 이해하기 = 373 10.5.2 코드 실행하기 = 375 11 텍스트 컴포넌트와 되돌리기 11.1 텍스트 컴포넌트의 개요 = 377 11.1.1 JTextComponent = 377 11.1.2 JTextField = 379 11.1.3 JPasswordField = 383 11.1.4 JTextArea = 383 11.1.5 JEditorPane = 385 11.1.6 JTextPane = 387 11.2 되돌리기/다시하기 = 390 11.2.1 UndoableEdit 인터페이스 = 390 11.2.2 AbstractUndoableEdit = 391 11.2.3 CompoundEdit = 394 11.2.4 UndoableEditEvent = 395 11.2.5 UndoableEditListener 인터페이스 = 395 11.2.6 UndoManager = 395 11.2.7 StateEditable 인터페이스 = 399 11.2.8 StateEdit = 399 11.2.9 UndoableEditSupport = 399 11.2.10 CannotUndoException = 400 11.2.11 CannotRedoException = 400 11.2.12 이미 존재하는 텍스트 컴포넌트의 되돌리기/다시하기 기능 사용하기 = 400 12 메뉴, 툴바, 액션 12.1 메뉴, 툴바, 액션의 개요 = 403 12.1.1 SingleSelectionModel 인터페이스 = 403 12.1.2 DefaultSingleSelectionModel = 404 12.1.3 JMenuBar = 404 12.1.4 JMenuItem = 405 12.1.5 JMenu = 406 12.1.6 JPopupMenu = 407 12.1.7 JSeparator = 409 12.1.8 JCheckBoxMenuItem = 410 12.1.9 JRadioButtonMenuItem = 410 12.1.10 MenuElement 인터페이스 = 410 12.1.11 MenuSelectionManager = 411 12.1.12 MenuDragMouseListener 인터페이스 = 413 12.1.13 MenuDragMouseEvent = 413 12.1.14 MenuKeyListener 인터페이스 = 413 12.1.15 MenuKeyEvent = 414 12.1.16 MenuListener 인터페이스 = 414 12.1.17 MenuEvent = 414 12.1.18 PopupMenuListener 인터페이스 = 414 12.1.19 PopupMenuEvent = 415 12.1.20 JToolBar = 415 12.1.21 사용자 정의의 JToolBar 분리기 = 417 12.1.22 움직이는 JToolBar 프레임 행동의 변경 = 418 12.1.23 Action 인터페이스 = 419 12.1.24 AbstractAction = 420 12.2 기본적인 텍스트 에디터, part Ⅰ : 메뉴 = 420 12.2.1 코드 이해하기 = 426 12.2.2 코드 실행하기 = 429 12.3 기본적인 텍스트 에디터, part Ⅱ : 툴바와 액션 = 429 12.3.1 코드 이해하기 = 432 12.3.2 코드 실행하기 = 432 12.4 기본적인 텍스트 에디터, part Ⅲ : 사용자 정의의 툴바 컴포넌트 = 433 12.4.1 코드 이해하기 = 439 12.4.2 코드 실행하기 = 441 12.5 기본적인 텍스트 에디터, part Ⅳ : 기존의 메뉴 컴포넌트 = 445 12.5.1 코드 이해하기 = 447 12.5.2 코드 실행하기 = 447 13 진행바, 슬라이더, 스크롤바 13.1 제한된 선택 범위의 컴포넌트들에 대한 개요 = 449 13.1.1 BoundedRangeModel 인터페이스 = 449 13.1.2 DefaultBoundedRangeModel = 450 13.1.3 JScrollBar = 450 13.1.4 JSlider = 452 13.1.5 JProgressBar = 454 13.1.6 ProgressMonitor = 458 13.1.7 ProgressMonitorInputStream = 459 13.2 기본적인 JScrollBar 예제 = 459 13.2.1 코드 이해하기 = 462 13.2.2 코드 실행하기 = 463 13.3 JSlider 날짜 선택기 = 463 13.3.1 코드 이해하기 = 468 13.3.2 코드 실행하기 = 471 13.4 JPEG 이미지 에디터의 JSlider = 471 13.4.1 JPEGDecodeParam 인터페이스 = 472 13.4.2 JPEGEncodeParam 인터페이스 = 472 13.4.3 JPEGImageDecoder 인터페이스 = 473 13.4.4 JPEGImageEncoder 인터페이스 = 473 13.4.5 JPEGCodec = 473 13.4.6 코드 이해하기 = 482 13.4.7 코드 실행하기 = 486 13.5 FTP 클라이언트 애플리케이션의 JProgressBar = 486 13.5.1 FtpClient = 487 13.5.2 코드 이해하기 = 496 13.5.3 코드 실행하기 = 500 14 다이얼로그 14.1 다이얼로그와 선택기의 개요 = 501 14.1.1 JDialog = 502 14.1.2 JOptionPane = 504 14.1.3 JColorChooser = 508 14.1.4 ColorSelectionModel 인터페이스 = 509 14.1.5 DefaultColorSelectionModel = 510 14.1.6 AbstractColorChooserPanel = 510 14.1.7 ColorChooserComponentFactory = 510 14.1.8 JFileChooser = 511 14.1.9 FileFilter = 513 14.1.10 FileSystemView = 515 14.1.11 FileView = 515 14.2 About 다이얼로그 추가하기 = 517 14.2.1 코드 이해하기 = 519 14.2.2 코드 실행하기 = 520 14.3 JOptionPane 메시지 다이얼로그 = 521 14.3.1 코드 이해하기 = 525 14.4 JColorChooser 변경하기 = 527 14.4.1 코드 이해하기 = 531 14.4.2 코드 실행하기 = 533 14.5 JFileChooser 변경하기 = 534 14.5.1 ZipInputStream = 534 14.5.2 ZipOutputStream = 534 14.5.3 ZipFile = 535 14.5.4 ZipEntry = 535 14.5.5 java.util.jar 패키지 = 535 14.5.6 Manifest = 535 14.5.7 코드 이해하기 = 549 14.5.8 코드 실행하기 = 553 PART Ⅲ 심화 주제(Advanced Topics) 15 레이어로 구성된 페인과 사용자 정의의 MDI 15.1 JLayeredPane = 557 15.2 인터페이스를 개선하기 위해 JLayeredPane 사용하기 = 559 15.3 사용자 정의의 MDI 만들기, part Ⅰ : 드래깅 패널 = 561 15.3.1 코드 이해하기 = 567 15.3.2 코드 실행하기 = 570 15.4 사용자 정의의 MDI 만들기, part Ⅱ : 크기 재조정 = 570 15.4.1 코드 이해하기 = 586 15.4.2 코드 실행하기 = 591 15.5 사용자 정의의 MDI 만들기, part Ⅲ : 기능 강화 = 591 15.5.1 코드 이해하기 = 600 15.5.2 코드 실행하기 = 602 15.6 사용자 정의의 MDI 만들기, part Ⅳ : 선택과 관리 = 603 15.6.1 코드 이해하기 = 610 15.6.2 코드 실행하기 = 612 15.7 사용자 정의 MDI 만들기, part Ⅴ : 자바빈즈 호환 = 613 15.7.1 코드 이해하기 = 615 15.7.2 코드 실행하기 = 615 16 데스크탑과 내부 프레임 16.1 JLayeredPane과 JInternalFrame = 617 16.1.1 JDesktopPane = 617 16.1.2 JInternalFrame = 617 16.1.3 JInternalFrame.JDesktopIcon = 618 16.1.4 DesktopManager 인터페이스 = 618 16.1.5 DefaultDesktopManager = 620 16.1.6 내부 프레임의 닫기 이벤트 캡쳐하기 = 620 16.1.7 InternalFrameListener 인터페이스 = 621 16.1.8 InternalFrameEvent = 622 16.1.9 InternalFrameAdapter = 623 16.1.10 아웃라인 드래깅 모드 = 623 16.2 Internalizable/Externalizable 프레임 = 624 16.3 캐스캐이딩과 아웃라인 드래깅 모드 = 625 16.3.1 코드 이해하기 = 628 16.3.2 코드 실행하기 = 630 16.4 X 윈도우 스타일의 데스크탑 환경 = 631 16.4.1 코드 이해하기 = 640 16.4.2 코드 실행하기 = 644 16.5 소켓을 이용한 멀티 사용자의 데스크탑 네트워크 환경 = 645 16.5.1 Socket = 645 16.5.2 ServerSocket = 645 16.5.3 InetAddress = 646 16.5.4 코드 이해하기 = 662 16.5.5 코드 실행하기 = 668 17 트리 17.1 JTree = 669 17.1.1 트리의 개념과 용어 = 669 17.1.2 트리 탐색 = 670 17.1.3 JTree = 670 17.1.4 TreeModel 인터페이스 = 672 17.1.5 DefaultTreeModel = 672 17.1.6 TreeNode 인터페이스 = 672 17.1.7 MutableTreeNode 인터페이스 = 673 17.1.8 DefaultMutableTreeNode = 673 17.1.9 TreePath = 673 17.1.10 TreeCellRenderer 인터페이스 = 674 17.1.11 DefaultTreeCellRenderer = 674 17.1.12 CellRendererPane = 674 17.1.13 CellEditor 인터페이스 = 675 17.1.14 TreeCellEditor 인터페이스 = 676 17.1.15 DefaultCellEditor = 676 17.1.16 DefaultTreeCellEditor = 677 17.1.17 RowMapper 인터페이스 = 677 17.1.18 TreeSelectionModel 인터페이스 = 677 17.1.19 DefaultTreeSelectionModel = 678 17.1.20 TreeModelListener 인터페이스 = 678 17.1.21 TreeSelectionListener 인터페이스 = 678 17.1.22 TreeExpansionListener 인터페이스 = 679 17.1.23 TreeWillExpandListener 인터페이스 = 679 17.1.24 TreeModeEvent = 679 17.1.25 TreeSelectionEvent = 680 17.1.26 TreeExpansionEvent = 680 17.1.27 ExpandVetoException = 680 17.1.28 JTree 클라이언트 프로퍼티와 기본의 UI 자원 = 680 17.1.29 JTree의 모양 제어하기 = 681 17.2 기본의 JTree 예제 = 682 17.2.1 코드 이해하기 = 687 17.2.2 코드 이해하기 = 688 17.3 디렉토리 트리 part Ⅰ : 동적 노드 검색 = 689 17.3.1 코드 이해하기 = 696 17.3.2 코드 실행하기 = 703 17.4 디렉토리 트리 part Ⅱ : 팝업 메뉴와 애플리케이션의 탐색 = 703 17.4.1 코드 이해하기 = 706 17.4.2 코드 실행하기 = 707 17.5 디렉토리 트리 part Ⅲ : 툴팁 = 707 17.5.1 코드 이해하기 = 709 17.5.2 코드 실행하기 = 710 17.6 JTree와 XML 문서 = 710 17.6.1 XmlDocument = 711 17.6.2 XmlDocumentBuilder = 711 17.6.3 DataNode = 711 17.6.4 ElementNode = 711 17.6.5 코드 이해하기 = 714 17.6.6 코드 실행하기 = 716 17.7 사용자 정의의 에디터와 렌더러 = 716 17.7.1 코드 이해하기 = 722 17.7.2 코드 실행하기 = 726 18 테이블 18.1 JTable = 729 18.1.1 JTable = 729 18.1.2 TableModel 인터페이스 = 731 18.1.3 AbstractTableModel = 732 18.1.4 DefaultTableModel = 733 18.1.5 TableColumn = 733 18.1.6 TableColumnModel 인터페이스 = 735 18.1.7 DefaultTableColumnModel = 737 18.1.8 TableCellRenderer 인터페이스 = 737 18.1.9 DefaultTableCellRenderer = 738 18.1.10 TableCellEditor 인터페이스 = 739 18.1.11 DefaultCellEditor = 740 18.1.12 TableModelListener 인터페이스 = 741 18.1.13 TableModelEvent = 741 18.1.14 TableColumnModelListener 인터페이스 = 741 18.1.15 TableColumnModelEvent = 742 18.1.16 JTableHeader = 742 18.1.17 JTable의 선택 = 744 18.1.18 열 너비와 크기 조절 = 747 18.1.19 JTable의 모양 = 749 18.1.20 JTable 스크롤 = 749 18.2 주식 데이터 테이블, part Ⅰ : 기본 JTABLE 예제 = 750 18.2.1 코드 이행하기 = 755 18.2.2 코드 실행하기 = 758 18.3 주식 데이터 테이블, part Ⅱ : 사용자 정의 렌더러 = 758 18.3.1 코드 이해하기 = 762 18.3.2 코드 실행하기 = 763 18.4 주식 데이터 테이블, part Ⅲ : 데이터 형식 맞추기 = 763 18.4.1 코드 이해하기 = 766 18.4.2 코드 실행하기 = 767 18.5 주식 데이터 테이블, part Ⅳ : 열 정렬 = 768 18.5.1 코드 이해하기 = 773 18.5.2 코드 실행하기 = 775 18.6 주식 데이터 테이블, part Ⅴ : JDBC = 775 18.6.1 코드 이해하기 = 781 18.6.2 코드 실행하기 = 782 18.7 주식 데이터 테이블, part Ⅵ : 열 추가/삭제 = 783 18.7.1 코드 이해하기 = 786 18.7.2 코드 실행하기 = 787 18.8 지출 보고서 애플리케이션 = 787 18.8.1 코드 이해하기 = 796 18.8.2 코드 실행하기 = 798 18.9 자바빈즈 프로퍼티 에디터 = 798 18.9.1 코드 이해하기 = 805 18.9.2 코드 실행하기 = 808 19 텍스트 컴포넌트의 내부 19.1 텍스트 패키지 개요 = 811 19.1.1 JTextComponent = 811 19.1.2 Document 인터페이스 = 814 19.1.3 StyledDocument 인터페이스 = 815 19.1.4 AbstractDocument = 816 19.1.5 Content 인터페이스 = 820 19.1.6 Position 인터페이스 = 821 19.1.7 DocumentEvent 인터페이스 = 821 19.1.8 DocumentListener 인터페이스 = 822 19.1.9 Element 인터페이스 = 822 19.1.10 PlainDocument = 824 19.1.11 DefaultStyledDocument = 825 19.1.12 AttributeSet 인터페이스 = 830 19.1.13 MutableAttributeSet 인터페이스 = 832 19.1.14 Style 인터페이스 = 832 19.1.15 StyleConstants = 833 19.1.16 StyleContext = 833 19.1.17 Highlighter 인터페이스 = 835 19.1.18 DefaultHighlighter = 835 19.1.19 Caret 인터페이스 = 836 19.1.20 DefaultCaret = 836 19.1.21 CaretListener 인터페이스 = 838 19.1.22 CaretEvent = 839 19.1.23 Keymap 인터페이스 = 839 19.1.24 TextAction = 840 19.1.25 EditorKit = 840 19.1.26 DefaultEditorKit = 841 19.1.27 StyledEditorKit = 843 19.1.28 뷰 = 844 19.1.29 ViewFactory 인터페이스 = 845 19.2 날짜와 시간 에디터 = 846 19.2.1 코드 이해하기 = 860 19.2.2 코드 실행하기 = 864 20 워드 프로세서 만들기 20.1 워드 프로세서 part Ⅰ : RTF 소개 = 865 20.1.1 코드 이해하기 = 870 20.1.2 코드 실행하기 = 871 20.2 워드 프로세서, part Ⅱ : 폰트 관리 = 871 20.2.1 코드 이해하기 = 876 20.2.2 코드 실행하기 = 879 20.3 워드 프로세서, part Ⅲ : 색과 이미지 = 879 20.3.1 코드 이해하기 = 884 20.3.2 코드 실행하기 = 885 20.4 워드 프로세서, part Ⅳ : 스타일 이용하기 = 885 20.4.1 코드 이해하기 = 889 20.4.2 코드 실행하기 = 890 20.5 워드 프로세서, part Ⅴ : 클립보드와 되돌리기/다시하기 = 891 20.5.1 코드 이해하기 = 896 20.5.2 코드 실행하기 = 897 20.6 워드 프로세서, part Ⅵ : 향상된 폰트 관리 = 897 20.6.1 코드 이해하기 = 907 20.6.2 코드 실행하기 = 912 20.7 워드 프로세서, part Ⅶ : 문단 모양 = 912 20.7.1 코드 이해하기 = 922 20.7.2 코드 실행하기 = 927 20.8 워드 프로세서, part Ⅷ : 찾기와 바꾸기 = 927 20.8.1 코드 이해하기 = 937 20.8.2 코드 실행하기 = 943 20.9 워드 프로세서, part Ⅸ : 맞춤법 검사(JDBC와 SQL 사용) = 943 20.9.1 코드 이해하기 = 953 20.9.2 코드 실행하기 = 959 21 플러거블 룩앤필 21.1 플러거블 룩앤필(Pluggable Look and Feel) 개요 = 961 21.1.1 LookAndFeel = 961 21.1.2 UIDefaults = 963 21.1.3 UIManager = 963 21.1.4 UIResource 인터페이스 = 964 21.1.5 ComponentUI = 964 21.1.6 BasicLookAndFeel = 964 21.1.7 룩앤필이 동작하는 방법 = 965 21.1.8 룩앤필의 선택 = 966 21.1.9 사용자 정의의 LookAndFeel 구현 = 967 21.1.10 디폴트 컴포넌트 자원 정의 = 969 21.1.11 클래스 디폴트값 정의 = 970 21.1.12 사용자 정의의 UI delegate 생성 = 970 21.1.13 Metal 테마 = 973 21.2 사용자 정의의 룩앤필, part Ⅰ : 사용자 정의의 자원 사용 = 973 21.2.1 코드 이해하기 = 981 21.2.2 코드 실행하기 = 982 21.3 사용자 정의의 룩앤필, 사용자 정의의 UI Delegate 생성 = 983 21.3.1 코드 이해하기 = 992 21.3.2 코드 실행하기 = 995 21.4 사용자 정의 컴포넌트를 위한 룩앤필, part Ⅰ : 룩앤필 지원을 위한 구현 = 995 21.4.1 코드 이해하기 = 1008 21.4.2 코드 실행하기 = 1015 21.5 사용자 정의 컴포넌트를 위한 룩앤필, part Ⅱ : 제3자의 룩앤필 지원 = 1016 21.5.1 코드 이해하기 = 1019 21.5.2 코드 실행하기 = 1020 PART Ⅳ 스페셜 주제(Special topics) 22 프린팅(Printing) 22.1 JAVA 2 프린팅(printing) API 개요 = 1023 22.1.1 PrinterJob = 1024 22.1.2 Printable 인터페이스 = 1024 22.1.3 Pageable 인터페이스 = 1026 22.1.4 PrinterGraphics 인터페이스 = 1027 22.1.5 PageFormat = 1027 22.1.6 Paper = 1028 22.1.7 Book = 1029 22.1.8 PrinterException = 1029 22.2 이미지 프린트하기 = 1030 22.2.1 코드 이해하기 = 1033 22.2.2 코드 실행하기 = 1035 22.3 미리보기 = 1035 22.3.1 코드 이해하기 = 1043 22.3.2 코드 실행하기 = 1046 22.4 스타일이 있는 텍스트 프린트 = 1047 22.4.1 코드 이해하기 = 1051 22.4.2 코드 실행하기 = 1055 22.5 테이블 프린트하기 = 1055 22.5.1 코드 이해하기 = 1059 22.5.2 코드 실행하기 = 1061 23 플러거블 룩앤필 23.1 Java 2D API 개요 = 1063 23.1.1 Shape 인터페이스 = 1063 23.1.2 GeneralPath = 1064 23.1.3 Rectangle2D = 1064 23.1.4 AffineTransform = 1065 23.1.5 Stroke 인터페이스 = 1066 23.1.6 BasicStroke = 1066 23.1.7 Paint 인터페이스 = 1066 23.1.8 GradientPaint = 1067 23.1.9 TexturePaint = 1067 23.1.10 Graphics2D = 1067 23.1.11 GraphicsEnvironment = 1068 23.1.12 BufferedImage = 1069 23.1.13 FontRenderContext = 1069 23.1.14 TextLayout = 1069 23.2 차트 렌더링하기 = 1070 23.2.1 코드 이해하기 = 1078 23.2.2 코드 실행하기 = 1084 23.3 스트링 렌더링하기 = 1084 23.3.1 코드 이해하기 = 1090 23.3.2 코드 실행하기 = 1095 23.4 이미지 렌더링하기 = 1096 23.4.1 코드 이해하기 = 1101 23.4.2 코드 실행하기 = 1105 부록 A = 1107 참고 문헌 = 1009 찾아보기 = 1119
