본문 바로가기 주메뉴 바로가기
국회도서관 홈으로 정보검색 소장정보 검색

목차보기

목차

1부 그래픽스와 GUI 기초

1장 데스크탑 자바 그래픽스 API: 스윙, AWT, 자바 2D

추상 윈도우 툴킷

자바 2D

스윙

2장 스윙 렌더링 기초

이벤트

스윙 페인트

비동기식 리페인트 요청

동기식 페인트 요청

스윙 렌더링

paint()

setOpaque()

이중 버퍼링

스레드 다루기

스레드 모델

타이머와 이벤트 해석 스레드

SwingWorker를 사용한 간편한 스레드 사용

스레드 관련 내용 요약

3장 그래픽스 기초

자바 2D

렌더링

그래픽스 객체 얻기

그래픽스 상태

이미지 확대축소 관련 힌트

도형 안티앨리어스 힌트

텍스트 안티앨리어스 힌트

그래픽 기본요소

4장 이미지

이미지 타입

BufferedImage

이미지 확대축소

품질과 성능

getFasterScaledInstance(): 더 빠르고 좋은 품질의 확대축소 이미지를 제공하는 유틸리티

5장 성능

클립 사용

호환 이미지

걱정해야 할 것들

관리되는 이미지란?

이미지 호환시키기

관리되는 이미지

DataBuffer 객체 접근

이미지 내의 잦은 렌더링

중간생성 이미지

기본 개념

동작 원리

유의사항

요약

기본 렌더링 최적화

성능 측정

명령행 플래그

렌더링

성능 디버깅

2부 고급 그래픽 렌더링

6장 컴포지트

알파 컴포지트

알파 컴포지트의 12 규칙

Clear

Dst

DstAtop

DstIn

DstOut

DstOver

Src

SrcAtop

SrcIn

SrcOut

SrcOver

Xor

AlphaComposite 생성과 설정

AlphaComposite의 일반적인 사용법

Clear 사용하기

SrcOver 사용하기

SrcIn 사용하기

AlphaComposite 사용시 주의사항

자신만의 컴포지트 작성

Add 컴포지트

CompositeContext 구현

픽셀 합성

요약

7장 그래디언트

이중 선형 그래디언트

정규 그래디언트를 활용한 특수 효과

다단 선형 그래디언트

방사형 그래디언트

그래디언트 최적화

그래디언트 캐시하기

더 똑똑하게 캐시하기

반복되는 그래디언트 최적화하기

8장 이미지 프로세싱

이미지 필터

BufferedImageOp로 이미지 처리하기

AffineTransformOp

ColorConvertOp

ConvolveOp

커널 구성하기

경계에 대한 작업

LookupOp

RescaleOp

사용자 정의 BufferedImageOp

기반 필터 클래스

색조 변경 필터

필터 성능에 대한 이야기

요약

9장 글라스 페인

글라스 페인에 그리기

최적화된 글라스 페인 페인팅

입력 이벤트 가로채기

마우스 이벤트 관련 주의사항

10장 레이어드 페인

레이어드 페인 레이어 사용하기

단일 레이어 내에서 컴포넌트 정렬

레이어드 페인과 레이아웃

여러 레이아웃을 사용해서 JLayeredPane 대체하기

11장 리페인트 매니저

스윙이 너무 똑똑할 때

RepaintManager와 첫 대면

RepaintManager 관리하기

RepaintManager로 구현한 반사상

반사상을 위한 공간 만들기

반사상 그리기

더 바보같은, 그래서 더 똑똑한 RepaintManager

요약

3부 애니메이션

12장 애니메이션 기초

시간에 대해서

기초 개념

프레임 기반 애니메이션

프레임 비율

시간 기반 모션

타이밍(그리고 플랫폼 타이밍 유틸리티)

“지금 몇시죠?”

“모닝콜을 부탁해요 ”

“다시 불러줘요 또다시 또다시 ”

해상도

System.currentTimeMillis()와 System.nanoTime()의 해상도

슬립 해상도

타이머 해상도

해상도에 대한 해상도

스윙 애플리케이션 움직이게 하기

움직이는 그래픽

움직이는 GUI

요약

13장 매끄러운 움직임

배경: 왜 애니메이션이 어색하게 보일까?

애니메이션이 버벅거리는 원인과 부드럽게 만드는 법

타이밍이 모든 것이다

색상: 차이가 무엇일까?

수직 회기: 동기화된 감각

SmoothMoves: 데모

그래픽스 객체 생성

타이머 실행

렌더링

렌더링 옵션

요약

14장 타이밍 프레임워크: 기초

소개

핵심 개념

Animator 클래스

콜백

지속시간

반복

해상도

시작 동작

보간

가속과 감속

보간자

요약

15장 타이밍 프레임워크: 고급 기능

트리거

개념과 사용법

트리거 상위클래스

내장 트리거

프로퍼티 설정자

PropertySetter 클래스

Evaluator

키프레임

요약

4부 이펙트

16장 정적 이펙트

블러

사용목적

간단한 블러

가우시안 블러

성능향상 기법

반사

사용목적

반사 그리기

블러 적용 반사

드롭 섀도우

사용 목적

간단한 드롭 섀도우

사실적인 드롭 섀도우

강조

사용목적

명도 높이기

스팟라이트

가독성 개선을 위한 텍스트 강조

샤픈

사용목적

단순 샤픈

언샤프 마스크

축소된 이미지에 샤픈 적용

요약

17장 동적 이펙트

움직임

사용목적

갑니다, 갑니다, 넘어갔습니다!

페이드

사용목적

페이드 전략

AlphaComposite 페이드

색상 페이드

크로스페이드

페이드 쉽게 하기

펄스

사용목적

펄스 느끼기

자동 백열

약동하는 펄스

스프링

사용목적

스프링 대활약

모핑

사용목적

버튼 모핑하기

요약

18장 애니메이션 장면전환

애플리케이션 상태를 끊김없이 전환하기

기본 개념

애니메이션 장면전환: 라이브러리

애니메이션 애플리케이션 상태

GUI 상태

API

이펙트

GUI 구조

그림과 이미지홀더

ScreenTransition

애니메이트 장면전환: 스윙에게 대체 어떤 일을 시키고 있을까?

몰래 다음 화면 채비하기

레이아웃을 펼쳐보자: 레이아웃을 서서히 변화시키기

스윙을 춤추게 하자: 성능

요약

19장 멋진 리치 클라이언트의 탄생

에어리스

에어리스의 실행

직접 해보기

작업흐름도 페이퍼 디자인

비전

화면 구성 디자인

목업

목업에서 코드까지

레이어 사용하기

블렌딩 모드

안내선 사용

난 예술가가 아니라구!

알맞은 색상 선택

디자인 서적 읽기

요약

프로젝트

맺음말

자바 사이트

저자의 사이트

(당신의 이름이 들어갈 자리)

이용현황보기

(자바로 만드는)애니메이션 & 그래픽스 : 사용자를 사로잡는 화려한 데스크탑 애플리케이션 만들기 이용현황 표 - 등록번호, 청구기호, 권별정보, 자료실, 이용여부로 구성 되어있습니다.
등록번호 청구기호 권별정보 자료실 이용여부
0001461094 005.117 -9-4 서울관 서고(열람신청 후 1층 대출대) 이용가능
0001461095 005.117 -9-4 서울관 서고(열람신청 후 1층 대출대) 이용가능

출판사 책소개

알라딘제공
사용자를 매료시키는 GUI와 역동적인 이펙트로 가득한 애플리케이션. 스윙과 자바2D로 화려하고 멋진 데스크탑 애플리케이션을 만들기 위해 자바 개발자가 꼭 알아야 할 애니메이션 이펙트와 그래픽스 프로그래밍

멋진 리치 클라이언트란 뛰어난 그래픽을 지녀 정말 멋져 보이는 리치 애플리케이션을 뜻한다. 화려하고 멋진 리치 클라이언트는 사용자를 강하게 끌어들이고 흥분해 손을 뗄 수 없게 만든다. 이 책에서는 더 효율적이고 멋진 애플리케이션을 잘 만들어 사용자 경험을 극대화하는 방법을 제시한다.

리치 클라이언트의 핵심은 그래픽스와 애니메이션 이펙트다. 이들 이펙트를 사용하면 매력적인 GUI와, 애플리케이션을 살아 숨쉬게 하는 역동적인 이펙트, 애플리케이션의 논리적 흐름과 사용자를 연결시키는 애니메이션 장면전환 등을 통해 사용자의 경험을 향상시킬 수 있다. 또한 애플리케이션을 풍부하게 만드는 이펙트를 효율적으로 구현하는 방법도 다룬다.


★ 이 책에서 다루는 내용 ★

▶ 그래픽과 GUI 기초: 스윙과 자바 2D를 연계해 GUI 애플리케이션을 화면에 출력하는 방법과 내부 구조를 파헤쳐 본다. 이들 라이브러리의 유연성을 극대화하고 효율적으로 사용하는 방법을 배운다.
▶ 성능: 책 전체에 걸쳐 설명하는 토론과 팁을 이용해 고성능 GUI 애플리케이션을 개발한다.
▶ 이미지: 더 나은 자바 애플리케이션을 만들 수 있는 이미지 생성과 사용법을 알아본다.
▶ 고급 그래픽: 화려한 리치 클라이언트에 날개를 달아주는 스윙과 자바 2D 요소에 대해 배운다.
▶ 애니메이션: 애니메이션의 일반적 개념과 함께 자바 플랫폼에서 사용하는 기능의 사용법을 배운다. 자바 애니메이션을 쉽게 구현할 수 있는 새로운 유틸리티 라이브러리를 소개한다.
▶ 이펙트: 정적 이펙트와 애니메이션 이텍트를 만들고 커스터마이즈하는 방법을 배워본다.


★ 이 책의 대상 독자 ★

자바 언어와 스윙에 대한 경험이 있다면 유용할 것이다. 이 책은 자바와 스윙 입문서가 아니며 자바와 스윙을 어느 정도 알고 있는 독자를 대상으로 한다. 그러나 화려한 리치 클라이언트 제작을 이해하기 위해 중요한 스윙의 렌더링 기초 중 일부는 고급 스윙 프로그래머라 할지라도 어려워할 수 있기에, 스윙과 자바 2D를 함께 사용해 사용자 정의 이펙트를 만드는 방법을 설명하는 데 초반 몇 장을 할애했다. 여기서 만든 이펙트는 책 전체에서 사용한다.


★ 이 책의 구성 ★

1부. 그래픽과 GUI 기초
1부에서는 책 전반에 걸쳐 사용하는 자바 그래픽과 UI 프로그래밍의 기본 개념을 배운다. 그래픽과 UI 개발에 대해 상세히 설명하는 것은 아니지만 API, 기술 등의 기초에 대해 누구나 이해할 수 있도록 자세히 설명하고 이후 내용들을 활용해 화려한 리치 클라이언트를 개발하는 데 도움이 되는 내용을 다뤘다.
AWT, 자바 2D, 스윙을 잘 알고 있다면 이 부분은 진부해 보일 수도 있겠지만, 그래도 기본 개념은 꼭 필요하다. 또한 책 여기저기에는 모든 데스크탑 자바 프로그래머에게 유용한 흥미로운 토막 상식을 많이 담았다.

2부. 고급 그래픽 렌더링

2부에서는 자바 2D와 스윙으로 리치 인터페이스를 만드는 데 유용한 고급 주제들을 다룬다. 2부 전반부에는 컴포지트, 그래디언트, 이미지 프로세싱 등 그래픽 관련 기술을 다루고 후반부에는 글라스 페인, 레이어 페인, 리페인트 매니저 등 스윙 관련 기술을 다룬다.

3부. 애니메이션
화려한 리치 클라이언트는 정적인 것이 아니다. 살아있는 것이다. 그러므로 움직여야 한다. 심장박동 소리로 사용자에게 존재를 알려야 한다. 보기 좋게 만드는 것이 반이고 살아 움직이는 듯 보이게 하는 것이 나머지 반이다.
3부는 애플리케이션에 생명을 불어넣는 애니메이션 기초를 다룬다. 그래픽 애니메이션과 GUI 애니메이션, 애니메이션 개발을 도와주는 자바 SE 라이브러리, 자바 애니메이션 개발을 매우 쉽게 만들어주는 타이밍 프레임워크 라이브러리 등을 다룬다.

4부. 이펙트
4부는 1, 2, 3부 내용을 기반으로 구성됐다. 이펙트는 화려한 리치 클라이언트의 핵심이며 보통 리치 클라이언트와 화려한 리치 클라이언트를 구분짓는다. 이펙트는 두 가지 카테고리로 나눴다. 첫 번째 카테고리는 애플리케이션을 더 멋져 보이게 만드는 정적 이펙트다. 두 번째 카테고리는 GUI를 움직이게 만드는 동적 이펙트, 또는 애니메이션 이펙트다. 책의 웹사이트에서 제공하는 유틸리티 라이브러리를 이용해 애니메이션 이펙트를 구현하는 Animated Transition도 다루고 있다. 맨 처음 디자인 다이어그램에서부터 다양한 이펙트 구현까지 화려한 리치 클라이언트 예제를 개발하는 과정을 소개하며 4부를 마친다.