efekty-graficzne-i-animowane-dla-aplikacji-desktop-java.-tworzenie-atrakcyjnych-programow full version.pdf

(36449 KB) Pobierz
Efekty graficzne
i animowane dla aplikacji
Desktop Java. Tworzenie
atrakcyjnych programw
Autor: Chet Haase, Romain Guy
TĀumaczenie: PaweĀ Gonera
ISBN: 978-83-246-1462-2
TytuĀ oryginaĀu: Filthy Rich Clients:
Effects for Desktop Java(TM)
Applications (The Java Series)
Format: 180x235, stron: 584
Poznaj tajniki tworzenia efektownych, a jednoczeľnie funkcjonalnych aplikacji,
ktre przyciĴgajĴ rzesze klientw
¤ Jak tworzyě obrazy i wykorzystywaě je w aplikacjach?
¤ Jak sterowaě dziaĀaniem animacji?
¤ Jak korzystaě z grafiki pulpitu dla jķzyka Java?
Informatyka jest dziedzinĴ, ktra rozwija siķ w naprawdķ szalonym tempie, a uŃytkownicy
komputerw i konsumenci stawiajĴ coraz wiķksze wymagania wszelkim jej produktom.
Oczywiľcie, to, co atrakcyjne, przyciĴga, ale rwnie istotna jest Āatwoľě korzystania
z produktu czy intuicyjnoľě jego uŃytkowania. WspĀczesny klient oczekuje takiego wĀaľnie
idealnego poĀĴczenia. Jak tworzyě funkcjonalne, a jednoczeľnie efektowne aplikacje?
Co powoduje, Ńe klienci sĴ zachwyceni i bawiĴ siķ, uŃywajĴc aplikacji? O tym wĀaľnie jest
ksiĴŃka, ktrĴ trzymasz w rķkach.
W ksiĴŃce âEfekty graficzne i animowane dla aplikacji Desktop Java. Tworzenie atrakcyjnych
programwÒ autorzy w przystķpny, a czasami zabawny sposb opisujĴ dostķpne technologie
do tworzenia bogatych aplikacji. CzytajĴc jĴ, nauczysz siķ, jak wykorzystywaě grafikķ i animacjķ
oraz w jakie efekty wyposaŃyě interfejs uŃytkownika, aby byĀ naprawdķ atrakcyjny. Z tego
podrķcznika dowiesz siķ wszystkiego na temat podstawowych mechanizmw jķzyka Java, Swing,
Java 2D czy graficznych interfejsw uŃytkownika (GUI). Poznasz techniki tworzenia aplikacji
z bogatym interfejsem uŃytkownika, ktrĴ bķdziesz mgĀ wykonaě sam, poczynajĴc od szkicw
projektu, poprzez implementacjķ rŃnych elementw, aŃ do porywajĴcego koĺcowego efektu!
¤ Podstawy grafiki i interfejsw GUI
¤ Biblioteki grafiki pulpitu dla jķzyka Java
¤ Podstawy renderingu w Swing
¤ Java 2D
¤ Typy obrazw i ich przetwarzanie
¤ Gradienty
¤ Animacja
¤ Efekty statyczne i dynamiczne
¤ Tworzenie wĀasnych efektw
¤ Biblioteki Ï Animated Transitions i Timing Framework
Oto Twoje atrakcyjne aplikacje Ð wyjĴtkowe poĀĴczenie estetyki
i funkcjonalnoľci oraz milionw zadowolonych klientw!
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
780816867.051.png 780816867.057.png 780816867.058.png 780816867.059.png 780816867.001.png 780816867.002.png 780816867.003.png 780816867.004.png 780816867.005.png 780816867.006.png 780816867.007.png 780816867.008.png 780816867.009.png 780816867.010.png 780816867.011.png 780816867.012.png 780816867.013.png 780816867.014.png 780816867.015.png 780816867.016.png 780816867.017.png 780816867.018.png 780816867.019.png 780816867.020.png 780816867.021.png 780816867.022.png 780816867.023.png 780816867.024.png 780816867.025.png 780816867.026.png 780816867.027.png 780816867.028.png 780816867.029.png 780816867.030.png 780816867.031.png 780816867.032.png 780816867.033.png 780816867.034.png 780816867.035.png 780816867.036.png 780816867.037.png 780816867.038.png 780816867.039.png 780816867.040.png 780816867.041.png 780816867.042.png 780816867.043.png 780816867.044.png 780816867.045.png 780816867.046.png 780816867.047.png 780816867.048.png 780816867.049.png 780816867.050.png 780816867.052.png 780816867.053.png
 
Spis treści
Słowo wstępne ..................................................................................... 13
Przedmowa .......................................................................................... 15
Podziękowania ..................................................................................... 21
O autorach ........................................................................................... 23
Wstęp .................................................................................................. 25
CZĘŚĆ I
PODSTAWY GRAFIKI I INTERFEJSÓW GUI .............. 33
Rozdział 1.
Biblioteki grafiki pulpitu dla języka Java
— Swing, AWT oraz Java 2D ............................................ 35
Abstract Window Toolkit (AWT) ............................................................36
Java 2D .......................................................................................................37
Swing ..........................................................................................................37
Rozdział 2.
Podstawy renderingu w Swing ........................................... 39
Zdarzenia ...................................................................................................40
Rysowanie w Swing ...................................................................................41
Asynchroniczne żądania odrysowania .................................................................. 42
Synchroniczne żądania odrysowania ..................................................................... 43
Renderowanie w Swing .............................................................................44
paintComponent() ................................................................................................... 46
paint() ......................................................................................................................... 48
setOpaque() ............................................................................................................... 51
Podwójne buforowanie .............................................................................52
780816867.054.png 780816867.055.png 780816867.056.png
6
S PIS TREŚCI
Wątki ..........................................................................................................55
Model wątków ........................................................................................................... 57
Stopery a wątek rozsyłania zdarzeń ....................................................................... 62
Bezbolesna obsługa wątków poprzez SwingWorker ........................................... 63
Podsumowanie wątków ........................................................................................... 66
Rozdział 3.
Podstawy grafiki ............................................................... 67
Java 2D .......................................................................................................67
Rendering ..................................................................................................69
Pobieranie obiektu Graphics ................................................................................... 70
Stan grafiki ................................................................................................................. 72
Elementarne operacje graficzne .............................................................................. 97
Rozdział 4.
Obrazy ........................................................................... 115
Typy obrazów ..........................................................................................116
BufferedImage .........................................................................................119
Skalowanie obrazów ................................................................................122
Jakość kontra wydajność ........................................................................................ 125
Metoda getFasterScaledInstance()
— narzędzie do szybszego i lepszego skalowania obrazów .............................. 134
Rozdział 5.
Wydajność ...................................................................... 137
Zastosowanie obcinania ..........................................................................137
Obrazy zapewniające zgodność ..............................................................143
Dlaczego powinniśmy się nimi zajmować? ......................................................... 143
Co można powiedzieć o obrazach zarządzanych? ............................................. 145
Zapewnianie zgodności .......................................................................................... 146
Obrazy zarządzane ..................................................................................148
Odczytywanie danych z DataBuffer ..................................................................... 152
Częste renderowanie obrazu ................................................................................. 154
Obrazy pośrednie ....................................................................................156
Zasada ogólna .......................................................................................................... 157
Jak to jest realizowane? .......................................................................................... 157
Uwagi ........................................................................................................................ 163
Podsumowanie ........................................................................................................ 165
Optymalne rysowanie figur ....................................................................165
Testowanie wydajności ...........................................................................167
Opcje wiersza poleceń .............................................................................167
Renderowanie .......................................................................................................... 169
Debugowanie wydajności ...................................................................................... 171
7
S PIS TREŚCI
CZĘŚĆ II
RENDEROWANIE ZAAWANSOWANEJ GRAFIKI ..... 173
Rozdział 6.
Przezroczystość .............................................................. 175
Obiekt AlphaComposite .........................................................................175
Obiekt AlphaComposite. 12 reguł .........................................................177
Clear .......................................................................................................................... 179
Dst ............................................................................................................................. 179
DstAtop .................................................................................................................... 179
DstIn ......................................................................................................................... 180
DstOut ...................................................................................................................... 180
DstOver .................................................................................................................... 181
Src .............................................................................................................................. 182
SrcAtop ..................................................................................................................... 183
SrcIn .......................................................................................................................... 183
SrcOut ....................................................................................................................... 183
SrcOver ..................................................................................................................... 184
Xor ............................................................................................................................ 185
Tworzenie i konfigurowanie obiektu AlphaComposite .......................186
Typowe zastosowania AlphaComposite ................................................187
Zastosowanie reguły Clear .................................................................................... 187
Zastosowanie reguły SrcOver ............................................................................... 188
Zastosowanie reguły SrcIn .................................................................................... 189
Problemy z użyciem AlphaComposite ...................................................191
Tworzenie własnej klasy Composite ......................................................193
Tryb mieszania Add ............................................................................................... 193
Implementowanie CompositeContext ................................................................ 197
Łączenie pikseli ....................................................................................................... 198
Podsumowanie ........................................................................................200
Rozdział 7.
Gradienty ....................................................................... 201
Dwuelementowy gradient liniowy .........................................................202
Efekty specjalne korzystające ze zwykłych gradientów .........................204
Wieloelementowy gradient liniowy .......................................................208
Gradient kołowy ......................................................................................211
Optymalizacja gradientów ......................................................................214
Buforowanie gradientu .......................................................................................... 215
Sprytniejsze buforowanie ...................................................................................... 216
Optymalizacja z użyciem gradientów cyklicznych ............................................ 217
Rozdział 8.
Przetwarzanie obrazu ..................................................... 219
Filtry obrazów .........................................................................................219
Przetwarzanie obrazu za pomocą BufferedImageOp ...........................221
AffineTransformOp ................................................................................223
ColorConvertOp .....................................................................................224
8
S PIS TREŚCI
ConvolveOp .............................................................................................226
Tworzenie jądra ...................................................................................................... 228
Praca na krawędzi ................................................................................................... 229
LookupOp ................................................................................................231
RescaleOp ................................................................................................232
Własna klasa BufferedImageOp .............................................................234
Klasa bazowa filtra .................................................................................................. 234
Filtr barwiący ........................................................................................................... 236
Uwaga na temat wydajności ...................................................................241
Podsumowanie ........................................................................................242
Rozdział 9.
Szklany panel ................................................................. 243
Rysowanie na szklanym panelu ..............................................................246
Optymalizacja rysowania na szklanym panelu .................................................. 247
Blokowanie zdarzeń wejściowych ..........................................................250
Problemy ze zdarzeniami myszy .......................................................................... 251
Rozdział 10. Panele warstwowe .......................................................... 255
Wykorzystanie paneli warstwowych ......................................................256
Porządkowanie komponentów wewnątrz jednej warstwy ....................260
Panele warstwowe i warstwy ...................................................................261
Alternatywa dla JLayeredPane w postaci obiektów Layout ..................262
Rozdział 11. Zarządca rysowania ....................................................... 267
Gdy Swing staje się zbyt sprytny ............................................................267
Poznajemy RepaintManager ..................................................................269
Zarządzanie obiektami RepaintManager ............................................................ 270
Odbicia i RepaintManager ......................................................................271
Zapewnienie miejsca na odbicie ........................................................................... 272
Rysowanie odbicia .................................................................................................. 275
Prostszy, przez co sprytniejszy RepaintManager ............................................... 277
Podsumowanie ........................................................................................280
CZĘŚĆ III
ANIMACJA ............................................................. 281
Rozdział 12. Podstawy animacji .......................................................... 283
Wszystko o czasie ....................................................................................283
Podstawowe koncepcje ...........................................................................284
Animacja bazująca na ramkach ............................................................................ 284
Częstotliwość klatek ............................................................................................... 286
Ruch bazujący na czasie ......................................................................................... 286
Zgłoś jeśli naruszono regulamin