načítání...
nákupní košík
Košík

je prázdný
a
b

E-kniha: 1001 tipů a triků pro jazyk Java - Bogdan Kiszka

1001 tipů a triků pro jazyk Java
-11%
sleva

Elektronická kniha: 1001 tipů a triků pro jazyk Java
Autor: Bogdan Kiszka

- Podlehli jste kouzlu jazyka Java, ve kterém lze programovat na celé řadě platforem? Hledáte zajímavé postupy, jak vyřešit specifický problém? Tato publikace nabízí více než tisíc ... (celý popis)
Titul je skladem - ke stažení ihned
Médium: e-kniha
Vaše cena s DPH:  299 Kč 266
+
-
8,9
bo za nákup

hodnoceni - 42.8%hodnoceni - 42.8%hodnoceni - 42.8%hodnoceni - 42.8%hodnoceni - 42.8% 30%   celkové hodnocení
0 hodnocení + 1 recenze

Specifikace
Nakladatelství: » Computer press
Dostupné formáty
ke stažení:
PDF
Upozornění: většina e-knih je zabezpečena proti tisku a kopírování
Médium: e-book
Rok vydání: 2015
Počet stran: 542
Rozměr: 23 cm + 1 CD-ROM
Úprava: ilustrace
Vydání: Vyd. 1.
Skupina třídění: Programování. Software
Jazyk: česky
ADOBE DRM: bez
Nakladatelské údaje: Brno, Computer Press, 2009
ISBN: 978-80-251-2467-3
Ukázka: » zobrazit ukázku
Popis

Podlehli jste kouzlu jazyka Java, ve kterém lze programovat na celé řadě platforem? Hledáte zajímavé postupy, jak vyřešit specifický problém? Tato publikace nabízí více než tisíc řešení ve zcela novém vydání, jehož předchůdce se mezi čtenáři těší velké oblibě.

Ve velkém počtu tipů, rad, návodů a triků najdou inspiraci začátečníci, pokročilí, ale i profesionálové, kteří programují v Javě. Tipy a triky jsou přehledně členěny do tematických sekcí, nalezení požadované odpovědi je tak dílem okamžiku.

Kniha vám mimo jiné ukáže, jak:
- Pracovat s třídami a objekty
- Vytvářet dialogy, formuláře a grafické prvky
- Zobrazovat text v různých podobách
- Zkrotit regulární výrazy
- Zpracovávat data paralelně
- Manipulovat se soubory
- Pracovat v Javě s počítačovou sítí
- Využít certifikátů, digitálních podpisů a šifrování
- Zapojit do aplikace multimédia
- Používat databáze a pracovat s daty
- Tvořit aplikace pro mobilní telefony

O autorovi:
Bogdan Kiszka je profesionální programátor, překladatel a odborný konzultant. Zabývá se převážně programováním v jazycích C++, C# a Java, z angličtiny přeložil na dvě desítky knih a odborných publikací a je autorem staršího vydání této knihy.

Předmětná hesla
Zařazeno v kategoriích
Recenze a komentáře k titulu



Zmatená kniha 2012-05-11 hodnoceni - 30%hodnoceni - 30%hodnoceni - 30%hodnoceni - 30%hodnoceni - 30%
Kniha mi přijde slabá - tak trochu bez logické linie, často jsou uváděny útržkové příklady kódu bez nejmenšího popisu kontextu (organizace programu, odkud popisovanou funkci volat, v kapitole o balíččích se neuvádí jak je naimportovat, vytvářet, atd...).
 


Ukázka / obsah
Přepis ukázky

Bogdan Kiszka

1001 tipů a triků

pro jazyk Java

Computer Press

Brno

2012


1001 tipů a triků pro jazyk Java

Bogdan Kiszka

Obálka: Martin Sodomka

Odpovědný redaktor: Martin Herodek

Technický redaktor: Jiří Matoušek

Objednávky knih:

http://knihy.cpress.cz

www.albatrosmedia.cz

eshop@albatrosmedia.cz

bezplatná linka 800 555 513

ISBN 978-80-251-2467-3

Vydalo nakladatelství Computer Press v Brně roku 2012 ve společnosti Albatros Media a. s. se sídlem

Na Pankráci 30, Praha 4. Číslo publikace 16 509.

© Albatros Media a. s. Všechna práva vyhrazena. Žádná část této publikace nesmí být kopírována

a rozmnožována za účelem rozšiřování v jakékoli formě či jakýmkoli způsobem bez písemného souhlasu

vydavatele.

Dotisk 1. vydání


Stručný obsah

Úvodem 33

Vznik prvního objektu a prvního programu 39

Práce s třídami a objekty 47

Dialogy a formuláře 69

Fokus alias ohnisko uživatelského vstupu 107

Písma použitá v aplikaci 117

Ovládací prvky, jejich rozvržení a změny vzhledu 119

Obsluha událostí a posluchači 143

Kreslení 2D 151

Práce s rastrovými obrázky 163

Práce s obrazovkou 185

Možnosti zobrazení textu 191

Formátování textu 199

Hledání v textu 209

Regulární výrazy 213

Převody a kódování řetězců 233

Lokalizace uživatelského rozhraní 243

XML 249

Manipulace se soubory 273

Nová rozhraní pro vstup a výstup 291

Komprese a dekomprese 303

Internet 307

Pracujeme na straně serveru 317

Sokety 345

Distribuované systémy 355

Správa paměti 365

Souběžné zpracování 371


4 Stručný obsah

Tisk 379

Soubory zásad a správce zabezpečení 391

Certifikáty, digitální podpisy, elektronické klíče a šifrování 399

Přehrávání zvuků, zvukových souborů a sekvencí MIDI 431

Java Media Framework (JMF) 447

Ovladače JDBC 457

Databáze a práce s daty 459

Databáze a výsledné datové sady 471

Java ME a NetBeans 481

Midlety 489

Databáze v mobilním zařízení 505

Mobile Media API (JSR 135 API) 509

Konfigurace a instalace mobilních aplikací 513

Bezdrátové technologie 517

Rejstřík 527


Obsah

Úvodem 33

Jak číst tuto knihu 37

Zdrojové kódy 38

Doprovodné CD 38

Konvence použité v knize 38

Vznik prvního objektu a prvního programu 39

1 Co je to třída? 39

2 Nejjednodušší nová třída 39

3 Třída s vlastními daty 39

4 Manipulace s objekty a s jejich daty 40

5 Určení jedinečnosti metody 40

6 Modifikátory viditelnosti 41

7 Překrývání implicitní viditelnosti členu třídy 41

8 Klíčové slovo static 41

9 Nejjednodušší třída jako samostatný program 42 10 Jak program uložit 42 11 Překlad programu 42 12 Jak spustit připravený program v jazyce Java 43 13 Nejjednodušší odezva prvního programu 43 14 Jednoduchá aplikace s argumenty 43 15 Okamžité ukončení aplikace 44 16 Jak zjistit, že se aplikace chystá ukončit svůj běh 44 17 Komentáře v kódu 44 18 S objekty se manipuluje pomocí odkazů 45 19 Všechny objekty musíte vytvořit 45 20 Objekty nemusíte mazat 46 21 Doba platnosti objektů 46 22 Mazání objektů z paměti 46 23 Explicitní ukončení platnosti objektu 46

Práce s třídami a objekty 47

24 Přirozený jazyk v pojmenování 47 25 Čeština v identifikátorech 47

6 Obsah

26 Konvence pojmenování 47

27 Význam názvů identifikátorů 47

28 Co je při volbě názvu nejdůležitější 48

29 Rozlišujte mezi názvy typů a objektů 48

30 Nepoužívejte v názvech číslice 48

31 Nepoužívejte názvy bez souvislosti s obsahem třídy nebo objektu 48

32 Styl pojmenování v jazyce Java 49

33 Návrhové vzory pojmenování 49

34 Viditelnost a jedinečnost názvů 49

35 Umístění nových tříd v balíčcích 50

36 Informace o typu objektu 1 50

37 Informace o typu objektu 2 50

38 Informace o typu objektu 3 50

39 Název třídy objektu 50

40 Odkud byla načtena třída 51

41 Umístění tříd načtených pomocí systémového zaváděče 52

42 Zjištění viditelnosti objektů libovolného typu 52

43 Zjištění viditelnosti datové složky 52

44 Zjištění předka testovaného typu 53

45 Jak zjistit, zda má třída předka? 53

46 Je to třída nebo rozhraní? 53

47 Výpis bázových rozhraní daného rozhraní 54

48 Seznam rozhraní implementovaných danou třídou 54

49 Jak zjistit umístění třídy v balíčku 54

50 Zjišťování názvů členských objektů 55

51 Nalezení metod pomocí objektů typu Method 55

52 Volání metod pomocí objektů typu Method 56

53 Jak lze pomocí objektu typu Class získat datové složky libovolného typu? 56

54 Nastavení nebo načtení hodnoty datové složky pomocí objektu typu Field 56

55 Zjištění informací o konstruktorech třídy 57

56 Tvorba nového objektu pomocí instance typu Constructor 57

57 Zaručená inicializace datových složek objektu 57

58 Parametrizovaná inicializace objektu 58

59 Implicitní a explicitní konstruktory 59

60 Konstruktor a argumenty 59

61 Konstruktor v jazyce Java 59

62 Konstruktory a metody. Je to totéž? 60

63 Konstruktor nesmí mít žádný návratový typ 60

64 Proč nelze deklarovat konstruktor jako konečný? 60

65 Zaručená inicializace pomocí konstruktoru 60

Obsah 7

66 Volání konstruktorů z konstruktorů 61

67 Metoda finalize() 62

68 Úklid pomocí metody finalize() 62

69 Metoda finalize() není destruktor 62

70 V jazyce Java nejsou destruktory 63

71 Objekty nemusí být vymazány z paměti 63

72 Singleton – jediný objekt daného typu v celém programu 63

73 Zpřístupnění tříd – import 64

74 Vlastnosti a přístupové metody 64

75 Klíčové slovo final 65

76 Klíčové slovo return 65

77 Překrývání metod předka 65

78 Přetížené metody 65

79 Rozdíl mezi proměnnou CLASSPATH a příkazem import 65

80 Načtení třídy neuvedené v proměnné CLASSPATH 65

81 Indexované vlastnosti 66

82 Přiřazení hodnoty instanci typu Object 66

83 Tvorba duplikátů 67

84 Zapouzdření primitivního typu do objektově orientovaného reprezentanta 67

85 Změna typu hodnoty 68

86 Přetypování datových typů 68

87 Přetypování primitivních typů 68

88 Zvláštnost datového typu Boolean 68

Dialogy a formuláře 69

89 Návrh dialogů a formulářů v IDE 69

90 Hlavní okna 72

91 Rozdíl mezi třídami Frame a Canvas 73

92 Tvorba a zobrazení oken 73

93 Zavření okna 74

94 Ukončení aplikace pomocí systémového tlačítka Zavřít 74

95 Ukrytí hlavního okna pomocí systémového tlačítka Zavřít 75

96 Zobrazení okna uprostřed obrazovky 75

97 Nastavení maximálních rozměrů okna 75

98 Zákaz změn rozměrů hlavního okna aplikace 76

99 Změna ikony okna 76 100 Změna ikony okna (2) 76 101 Odstranění záhlaví okna 77 102 Exkluzivní celoobrazovkový režim 77 103 Celoobrazovkový režim pomocí běžných oken 78

8 Obsah

104 Celoobrazovkový režim a změna rozměrů okna 78

105 Oprávnění pro celoobrazovkový režim apletů 78

106 Okno na celou obrazovku bez okrajů a titulku 78

107 Okno na celou obrazovku 78

108 Diagnostika možností průhledných a tvarovaných oken 78

109 Průhledná a poloprůhledná okna 79

110 Okna s průhledným obsahem 81

111 Okna různých tvarů 82

112 Okno s odleskem 84

113 Minimalizace a maximalizace hlavního okna aplikace 89

114 Jak určit, zda je okno minimalizováno nebo maximalizováno 91

115 Jak určit, zda je okno otevřeno nebo zavřeno 91

116 Jak používat předdefinované dialogy 92

117 Jednoduché předdefinované dialogy 92

118 Informační dialog s vlastní ikonou 93

119 Vlastní text na tlačítcích předdefinovaných dialogů 94

120 Dialog, kdy uživatel musí vybrat některou z možností 95

121 Nemodální dialog 97

122 Modalita dialogů 97

123 Implementace dialogů s různým rozsahem modality 98

124 Uživatelský vstup získaný z dialogu 99

125 Změna titulku dialogu pomocí komponenty TitleBorder 100

126 Výběr souboru pomocí standardního dialogu 100

127 Výběr adresáře pomocí standardního dialogu 100

128 MDI – vnitřní okna 101

129 Pravidla užívání vnitřních oken v rozhraní MDI 102

130 Obsluha událostí v dokumentech aplikace MDI 103

131 Manipulace se všemi okny aplikace 104

132 Rychlejší přetahování oken v aplikacích MDI 105

133 Minimalizace blikání při překreslování (1) 105

134 Minimalizace blikání při překreslování (2) 105

Fokus alias ohnisko uživatelského vstupu 107

135 Definice kláves pro změnu ohniska vstupu v celé aplikaci 107

136 Klávesy pro přesun ohniska uživatelského vstupu 108

137 Ověřování textového pole při přesunu ohniska vstupu na jinou komponentu 108

138 Jak odebrat ohnisko vstupu aktuální aplikaci 109

139 Pořadí komponent uvnitř okna 109

140 Přesun výběru na další nebo předchozí komponentu I. 110

141 Přesun výběru na další nebo předchozí komponentu II. 111

Obsah 9

142 Sledování změny výběru komponent v celé aplikaci 112 143 Výběr komponenty ihned po zobrazení okna 113 144 Změna ohniska uživatelského vstupu 114 145 Zákaz výběru objektu 114 146 Zákaz výběru okna 114 147 Určujeme komponentu, na kterou bude přesunuto ohnisko vstupu 115 148 Určujeme vybraný objekt nebo vybrané okno 115 149 Určujeme, zda je ztráta ohniska vstupu dočasná nebo trvalá 116 150 Nastavení typu ukazatele myši pro vybranou komponentu 116

Písma použitá v aplikaci 117 151 Seznam všech dostupných příbuzných písem 117 152 Více písem v aplikaci 117 153 Zobrazení odstavce textu 117 154 Zobrazení textu různými styly 118 155 Výpočet šířky textu v pixelech před jeho zobrazením 118 156 Tvar grafického objektu na základě obrysu textu 118

Ovládací prvky, jejich rozvržení a změny vzhledu 119 157 Elegantní rozvržení textových polí s popisky – rozvržení typu SpringLayout 119 158 Dialog s kartami – rozvržení typu CardLayout 121 159 Dialog Najít – rozvržení typu GroupLayout 122 160 Umístění grafických prvků v mřížce – rozvržení typu GridBagLayout 124 161 Zobrazení komponent s menší zobrazovací plochou než jsou možnosti příslušného okna 125 162 Jak používat motivy v Javě 125 163 Implicitní motiv uživatelského rozhraní 126 164 Nastavení motivu uživatelského rozhraní na příkazovém řádku 126 165 Nastavení motivu uživatelského rozhraní pomocí souboru vlastností 126 166 Nastavení motivu uživatelského rozhraní v kódu 126 167 Úprava vlastností motivu 127 168 Integrace vzhledu aplikací do hostitelského operačního systému 128 169 Změna motivu po spuštění aplikace 129 170 Změna systémových vlastností 129 171 Změna implicitního písma aplikace 130 172 Změna barvy ovládacích prvků ve vybraném vzhledu 131 173 Počeštění standardních dialogů 131 174 Počeštění standardních dialogů (2) 132 175 Změna vzhledu, zobrazení a hasnutí plovoucích popisků 133 176 Vlastní motivy grafického uživatelského rozhraní – Synth 133 177 Vlastní motivy grafického uživatelského rozhraní – Synth deklarativně 134 Obsah 178 Nesměšujte instance tříd knihovny AWT s instancemi tříd knihovny Swing 136 179 Rozdíly mezi knihovnami AWT a Swing 136 180 Vykreslování "lehkých" komponent knihovny Swing 136 181 Kontejnery nejvyšší úrovně 137 182 Vodicí linky ve stromové struktuře 137 183 Zákaz klepnutí pravým tlačítkem ve stromové struktuře 137 184 Podpora ikony v oznamovací oblasti hlavního panelu 138 185 Přístup do oznamovací oblasti 138 186 Práce s oznamovací oblastí (třída SystemTray) 138 187 Implementace ikon v oznamovací oblasti 140 188 Změna ikony v oznamovací oblasti 140 189 Změna popisku ikony v oznamovací oblasti 140 190 Změna rozměrů obrázku použitého v oznamovací oblasti 141 191 Bublinová nápověda v oznamovací oblasti 141

Obsluha událostí a posluchači 143 192 Systém zasílání zpráv v jazyce Java 143 193 Obsluha událostí tlačítek a nabídek 144 194 Obsluha klepnutí tlačítka myši 145 195 Obsluha pohybu ukazatele myši 145 196 Obsluha stisku kláves 145 197 Obsluha událostí pomocí anonymní třídy 146 198 Jak rozpoznat klepnutí myši, poklepání nebo "trojklik"? 146 199 Čekání na událost typu PropertyChange 147 200 Čekání na změnu vlastnosti, která má právo změnu odmítnout 147 201 Úklid posluchačů z paměti 148 202 Generování klepnutí tlačítka myši 148 203 Přesun ukazatele myši na obrazovce 148 204 Simulace stisku klávesy nebo tlačítka myši 148 205 Způsob určení viditelnosti, přesunutí nebo změny rozměrů komponenty 149

Kreslení 2D 151 206 Nejjednodušší kreslení na povrch okna 151 207 Kreslení primitivních tvarů – bod 152 208 Vzdálenost mezi dvěma body 152 209 Kreslení primitivních tvarů – úsečka 152 210 Kreslení primitivních tvarů – kvadratická křivka 153 211 Kreslení primitivních tvarů – kubická křivka 153 212 Kreslení primitivních tvarů – obdélník 153 213 Kreslení primitivních tvarů – elipsa 154

Obsah 11

214 Kreslení primitivních tvarů – oblouk 154

215 Změna tloušťky pera 154

216 Definice okrajů primitivního grafického objektu 155

217 Kombinujeme různé tvary 155

218 Kreslení a vyplňování objektů 155

219 Kreslení barevného přechodu 156

220 Kreslíme kruhový diagram (graf) 157

221 Nastavení barvy 159

222 Výřez nakresleného tvaru 159

223 Výřez vymezený textem 160

224 Převod textového názvu barvy na odpovídající hodnotu 161

225 Tvorba nových tvarů pomocí čar a křivek 161

226 Úprava měřítka, oseknutí, překlopení nebo otočení tvaru 162

Práce s rastrovými obrázky 163

227 Obrázek ve stupních šedé 163

228 Převod barevného obrázku v paměti na stupně šedé 163

229 Zaostření obrázku 163

230 Rozmazání obrázku 164

231 Tvorba reliéfu z rastrového obrázku 164

232 Úprava obrázku: Měřítko, ořezání, překlopení, otočení. 164

233 Jak zesvětlit nebo ztmavit obrázek 165

234 Průhledné pozadí obrázku 165

235 Dotaz na množství volné zrychlené paměti použitelné pro práci s obrázkem 166

236 Filtrování složek RGB v obrázku 166

237 Komprese souboru JPEG 167

238 Kreslení obrázku v paměti 168

239 Tvorba a kreslení obrázků v paměti 169

240 Úprava měřítka, oseknutí, překlopení a otočení obrázku v paměti 171

241 Práce s pixely v obrázku načteném do paměti 171

242 Průhledné pixely v obrázku 172

243 Zjištění hodnoty průhledného pixelu nebo počtu barev použitých v obrázku ve formátu GIF 172

244 Překlopení obrázku 173

245 Převod objektu typu BufferedImage na objekt typu Image 173

246 Převod objektu typu Image na objekt typu BufferedImage 173

247 Načtení barevného modelu obrázku 175

248 Třídy a metody pro práci s barevnými modely 175

249 Načtení obrázku nebo ikony ze souboru 176

250 Načtení obrázku ze souboru, vstupního proudu nebo z adresy URL 176

251 Načtení vybrané části obrázku 177 Obsah 252 Uložení generované grafiky do souboru ve formátu PNG nebo JPEG 177 253 Výpis všech grafických formátů, které lze načítat a do nichž lze ukládat 178 254 Určení formátu obrázku v souboru 179 255 Způsob zjištění, zda lze formát obrázku číst nebo použít k zápisu 180 256 Rozpohybování pole obrázků 182 257 Zachycení snímku obrazovky 183

Práce s obrazovkou 185 258 Rozlišení obrazovky 185 259 Rozměry obrazovky 185 260 Načtení dostupných rozměrů obrazovky, obnovovací frekvence a kvality (počtu) barev 185 261 Načtení rozměrů obrazovky 185 262 Způsob zjištění aktuální obnovovací frekvence a kvality barev obrazovky 186 263 Nastavení rozměrů obrazovky, obnovovací frekvence a kvality barev 186 264 Počet dostupných obrazovek 187 265 Lepší výkon v režimu celé obrazovky 188

Možnosti zobrazení textu 191 266 Vykreslení prostého textu 191 267 Přirozenější proložení znaků 191 268 Podtržení textu 192 269 Přeškrtnutí textu 192 270 Změna barvy textu 193 271 Změna atributu textu u části textu 193 272 Rozměry textu v nakresleném objektu 194 273 Změna orientace textu v nakreslených objektech 195 274 Změna orientace textu v nakreslených objektech 195 275 Změna velikosti a typu písma v nakreslených objektech 196 276 Paprskovité zobrazení textu 197

Formátování textu 199 277 Formátování a zpracování času 199 278 Formátování a zpracování času v češtině 199 279 Vlastní formátovací vzory pro čas 200 280 Formátování zpráv obsahujících čas 201 281 Formátování a zpracování kalendářních dat 202 282 Vlastní formáty kalendářních dat 202 283 Formátování zpráv obsahující datum 203 284 Formátovací vzory pro kalendářní data 204

Obsah 13

285 Formátování zpráv obsahujících čísla 204 286 Formátování čísel v souladu s místním nastavením 205 287 Formátování měny v souladu s místním nastavením 205 288 Formátování procent v souladu s místním nastavením 206 289 Formátování čísel v exponenciálním zápisu 206 290 Minimální počet číslic vlevo i vpravo od desetinné čárky v exponenciálním formátu 207 291 Formátování čísel vlastním formátem 207 292 Chyby při užívání modifikačních metod třídy String 208

Hledání v textu 209 293 Hledání podřetězce v řetězci 209 294 Hledání podřetězce v řetězci 209 295 Hledání zalomení řádků v řetězcích Unicode 209 296 Hledání znaku nebo podřetězce v řetězci 210 297 Nalezení znaku, části slova nebo slovního spojení 210 298 Nahrazení znaku, části slova nebo slovního spojení 210 299 Hledání a nahrazení textu 210 300 Porovnání řetězců bez ohledu na místní a jazykové nastavení 211 301 Porovnávání textových řetězců 211 302 Jak ověřit pořadí řetězců? 211 303 Jak ověřit pořadí dvou řetězců bez ohledu na velikost písmen? 212 304 Porovnání řetězce s objektem typu StringBuffer 212 305 Procházení textu po znacích 212

Regulární výrazy 213 306 Vyhledávání pomocí regulárních výrazů 213 307 Ukázka hledání pomocí regulárních výrazů 213 308 Funkce „Najít a nahradit“ pomocí regulárních výrazů 214 309 Nahrazení textu proměnnými řetězci 214 310 Zachycení skupin znaků pomocí regulárního výrazu 215 311 Užití zachyceného textu ve vzoru regulárního výrazu 216 312 Užití zachyceného textu ve vzoru nahrazujícího textu 217 313 Aplikace regulárních výrazů na obsah souboru 217 314 Převod řetězce na tokeny 218 315 Zpracování dat oddělovaných určitým znakem 219 316 Rozdělení textu na odstavce pomocí regulárního výrazu 220 317 Čtení odstavců pomocí regulárních výrazů 220 318 Čtení řádků pomocí regulárního výrazu 221 319 Filtrování řádků ze vstupního proudu 221 320 Filtrování vstupu pomocí regulárních výrazů 222 Obsah 321 Indexování textu 224 322 Komentáře v regulárním výrazu 225 323 Nalezení konců řádku pomocí regulárního výrazu 226 324 Nalezení textu bez ohledu na konce řádků 226 325 „Nenasytné“ vyhledávání pomocí regulárních výrazů 227 326 Shoduje se nalezený řetězec se vzorem? 228 327 Odstranění konce řádku z objektu typu String 228 328 Odstranění zdvojených mezer 228 329 Překlad regulárního výrazu s více příznaky 229 330 Skupiny vzorů, které nezachycují text 229 331 Záměny řídicích znaků v regulárních výrazech 230 332 Změna v rozlišování malých a velkých písmen 230

Převody a kódování řetězců 233 333 Určování typu znaku 233 334 Převod řetězce na velká nebo malá písmena 233 335 Převod znaků mezi kódováním Unicode a UTF-8 233 336 Znakové bloky v řetězcích Unicode 234 337 Převod čísel na textové řetězce 234 338 Převod hodnoty primitivního datového typu na řetězec 234 339 Rozklad textu na jednotlivá slova 235 340 Stanovení hranic slova v řetězci Unicode 235 341 Stanovení hranic věty v řetězci Unicode 235 342 Stanovení hranice znaku v řetězci Unicode 236 343 Načtení seznamu hodnot oddělených tabulátory 236 344 Rozklad zdrojového kódu v Javě na tokeny 236 345 Je řetězec platným identifikátorem v jazyce Java? 238 346 Sestavení řetězce 238 347 Ukládání řetězců v objektu typu ByteBuffer 239 348 Načítání dat v požadovaném kódování 240 349 Převod bajtového pole na řetězec v kódování Base64 240 350 Převod dat kódovaných pro přenosy v síti WWW 240 351 Zápis dat ve vybraném kódování 241 352 Výpis všech dostupných převaděčů mezi kódováním Unicode a jinými znakovými sadami 241 353 Převody mezi Unicode a jinými znakovými sadami 242

Lokalizace uživatelského rozhraní 243 354 Výpis všech dostupných místních nastavení 243 355 Tvorba národního prostředí 243 356 Lokalizace uživatelského rozhraní 243

Obsah 15

357 Priorita zdrojových souborů jazykového nastavení 245

358 Priorita jazykového nastavení aplikace 245

359 Jazykové nastavení aplikace 245

360 Znaky Unicode v souborech jazykových prostředků 246

361 Zpětný převod z kódování ASCII do UNICODE 246

362 Kódování souborů jazykových prostředků 246

363 Zjištění implicitního jazykového nastavení 247

364 Vkládání znaků rozšířené abecedy do instance třídy JTextField 247

XML 249

365 Standard kódování souborů XML 249

366 Tvorba modelu DOM ze souboru XML 249

367 Dotaz na prvek modelu DOM na základě ID 250

368 Dotaz na kořenový prvek dokumentu DOM 250

369 Editace textu v uzlech typu CDATA, Comment a Text 251

370 Hodnota znakové entity v modelu DOM 252

371 Jak získat z objektu typu DOM Document pouze text 252

372 Komentáře v dokumentu DOM 253

373 Kopírování podstromu uzlů v modelu DOM 253

374 Kopírování podstromu uzlů z jednoho objektu typu Document modelu DOM do jiného 254

375 Načtení a změna atributu prvku v dokumentu DOM 254

376 Nový uzel v dokumentu DOM 255

377 Oddíl CDATA v dokumentu DOM 256

378 Odebrání uzlu z dokumentu DOM 257

379 Odstranění všech atributů vybraného prvku v dokumentu DOM 258

380 Procházení uzlů v dokumentu DOM 258

381 Procházení uzlů v objektu Document modelu DOM 258

382 Přidání textového uzlu do dokumentu DOM 259

383 Přidávání a odebírání atributů prvků v modelu DOM 259

384 Přidávání instrukcí zpracování do dokumentu DOM 260

385 Relativní dotazy na uzly v objektech typu Document modelu DOM 261

386 Rozdělení textového uzlu v dokumentu DOM 261

387 Slučování textových uzlů v dokumentu DOM 262

388 Tvorba prázdného dokumentu modelu DOM 263

389 Ukládání objektů typu DOM Document do souboru XML 263

390 Výpis všech atributů prvku v dokumentu DOM 263

391 Vytvoření deklarace DOCTYPE při ukládání souboru XML 264

392 Změna názvu prvku v dokumentu DOM 264

393 Převod fragmentu XML na fragment DOM 265

394 Ignorujeme komentáře v souboru XML 266

16 Obsah

395 Jak zabránit rozvinutí znakových entit při zpracování souboru XML 266

396 Převod uzlů CDATA na textové uzly 267

397 Explicitní nebo implicitní atribut prvku 267

398 Ošetření chyb při zpracování souboru XML 267

399 Pracujeme s jazykem XPath 268

400 XPath: Dotaz na kořenový prvek 269

401 XPath: Základní dotazy 269

402 XPath: Pořadí načítaných prvků 270

403 XPath: Základní dotazy na atributy prvků 271

404 XPath: Rozlišování velkých a malých písmen 271

405 Transformace dokumentu XML pomocí stylů XSL 272

406 Transformace dokumentu XML pomocí stylu XSL do objektu typu DOM Document 272

Manipulace se soubory 273

407 Výpis souborů v adresáři 273

408 Obsah adresáře 273

409 Tvorba souboru 274

410 Tvorba nových souborů 274

411 Výpis kořenového adresáře 274

412 Odkazují se dvě cesty na stejný soubor? 274

413 Výpis všech kořenových adresářů 275

414 Aktuální pracovní adresář 275

415 Nadřazené adresáře v souborové cestě 275

416 Soubor nebo na adresář? 276

417 Dotaz na existenci souboru nebo adresáře 276

418 Seznam souborů a podadresářů 276

419 Filtrovaný seznam souborů a podadresářů 277

420 Seznam souborů jako objektů File 277

421 Seznam podadresářů 277

422 Procházení souborů a podadresářů 277

423 Zpracování všech podadresářů 278

424 Zpracování všech souborů ve všech podadresářích 278

425 Tvorba dočasných souborů 278

426 Odstranění souboru ze souborového systému 279

427 Odstranění souboru ze souborového systému 279

428 Velikost souboru 279

429 Čtení nebo změna značky poslední změny souboru či adresáře 279

430 Tvorba adresáře 280

431 Odstranění adresáře 280

432 Odstranění prázdného adresáře 280

Obsah 17

433 Odstranění adresáře, který není prázdný 280

434 Přejmenování souboru nebo adresáře 281

435 Přesunutí souboru nebo adresáře 281

436 Kopírované soubory s obrázky jsou poškozeny 282

437 Relativní souborové cesty 282

438 Sestavení souborové cesty 282

439 Převody mezi souborovou cestou a adresou URL 282

440 Převody adresy URL na souborovou cestu 283

441 Přesměrování výstupu metody println() do souboru 283

442 Přesměrování standardního a chybového výstupu 283

443 Přesměrování výstupního proudu System.err do souboru 284

444 Načtení textu ze standardního vstupu 284

445 Čtení textu ze souboru 285

446 Zápis textu do souboru 285

447 Připojení textu k existujícímu souboru 285

448 Odstranění obsahu textového souboru 285

449 Načtení obsahu souboru do bajtového pole 286

450 Práce se soubory v režimu náhodného čtení a zápisu 286

451 Rozdělení souboru 287

452 Vynucení aktualizace souboru na pevném disku 288

453 Serializace objektů a jejich členských proměnných 288

454 Uložení objektu do souboru 289

Nová rozhraní pro vstup a výstup 291

455 Co je to NIO? 291

456 Tvorba datového proudu ze souborového kanálu 291

457 Zápis do souborového kanálu 292

458 Čtení ze souborového kanálu 292

459 Kopírování obsahu jednoho souboru do jiného 293

460 Tvorba souborového zámku 293

461 Tvorba sdíleného souborového zámku 294

462 Tvorba souboru mapovaného do paměti pro čtení 294

463 Tvorba souboru mapovaného do paměti pro čtení a zápis 294

464 Tvorba soukromého souboru mapovaného do paměti 295

465 Tvorba bajtové vyrovnávací paměti 295

466 Převod mezi objekty typu ByteBuffer a byte 295

467 Tvorba pohledů na typ ByteBuffer 296

468 Ukládání dat z objektů typu ByteBuffer do souboru 296

469 Dotaz na kapacitu vyrovnávací paměti 297

470 Dotaz na aktuální pozici v objektu ByteBuffer 297 Obsah 471 Vkládání dat do objektů typu ByteBuffer 297 472 Nebajtové typy v objektech typu ByteBuffer 298 473 Dotaz na bajty z objektů typu ByteBuffer 298 474 Pořadí bajtů v objektu typu ByteBuffer 299 475 Pracujeme s přímou vyrovnávací pamětí 299 476 Trvalé změny v mapované vyrovnávací paměti 300 477 Tvorba výstupního proudu z vyrovnávací paměti 300 478 Tvorba vstupního proudu z vyrovnávací paměti 301

Komprese a dekomprese 303 479 Tvorba archivu ZIP 303 480 Komprese pole bajtů 303 481 Komprese souboru do formátu GZIP 304 482 Dekomprese pole bajtů 304 483 Extrahování souboru ve formátu GZIP 305 484 Extrahování souboru z archivu ZIP 305 485 Načtení obsahu archivu ZIP 306 486 Výpočet kontrolního součtu pro pole bajtů 306 487 Výpočet kontrolního součtu pro soubor 306

Internet 307 488 Reprezentace adres IP v jazyce Java 307 489 Adresa IP a název hostitele lokálního počítače 307 490 Adresa IP vybraného hostitele 307 491 Název hostitele dané adresy IP 308 492 Testování síťových aplikací bez připojení k síti 308 493 Tvorba objektu typu URL 308 494 Zpracování adresy URL 308 495 Adresa URL s odkazem na aktivní místo v dokumentu 309 496 Dotazy na archiv JAR prostřednictvím objektu typu URL 309 497 Načítání záhlaví odpovědi z připojení HTTP 310 498 Načtení obrázku z adresy URL 310 499 Načtení textu adresy URL 310 500 Odeslání požadavku POST pomocí objektu typu URL 311 501 Práce s třídou URL 311 502 Přetypování z URL na URI 312 503 Přístup k adrese URL chráněné heslem 312 504 Zákaz automatického přesměrování 313 505 Načítání souborů cookie z připojení HTTP 314 506 Odeslání souboru cookie na server HTTP 315

Obsah 19

Pracujeme na straně serveru 317

507 JSP versus servlet 317

508 Rozsah platnosti na stránkách JSP 317

509 Dotaz na adresu klienta 317

510 Jednoduchá stránka JSP 317

511 Základní kostra servletu 318

512 Čeština na stránkách HTML z kontejneru JSP 319

513 Čeština na stránkách JSP 319

514 Čeština na stránkách JSP 319

515 Nastavení kódování parametrů požadavku HTTP 319

516 Překódování parametrů požadavku HTTP z Latin 1 320

517 Komentáře na stránkách JSP 320

518 Sdílení stránek JSP 320

519 Umístění servletů 320

520 Zahrnutí souboru na stránce JSP 321

521 Zahrnutí souboru na stránce JSP 321

522 Zahrnutí další stránky na stránce JSP 321

523 Předávání parametrů další stránce 322

524 Předávání požadavků HTTP na stránky JSP dalším stránkám 322

525 Spouštění kódu na stránkách JSP 322

526 Přesměrování na stránce JSP 323

527 Přenesení webového serveru 323

528 Parametry požadavku na stránce JSP 323

529 Chybová hlášení na stránkách JSP 324

530 Zákaz tvorby uživatelské relace 324

531 Dotaz na hlavičku požadavku 324

532 Dotaz na parametr požadavku 325

533 Dotaz na záhlaví požadavku HTTP 326

534 Podmíněný obsah na stránce JSP – příkaz if 327

535 Podmíněný obsah na stránce JSP – příkaz switch 327

536 Dynamický obsah na stránkách JSP 327

537 Nedovolte uživateli opakovaně odeslat stránku JSP 328

538 Zjištění adresy URL hostitele prostřednictvím servletu 328

539 Zjištění adresy URL hostitele prostřednictvím servletu 328

540 Zjištění adresy URI hostitele prostřednictvím servletu 329

541 Protokolování v servletu 329

542 Předkompilování stránky JSP 330

543 Odeslání obrázku pomocí servletu 330

544 Transakce na stránkách JSP 330

545 Tvorba dokumentu XML ze stránky JSP 331

20 Obsah

546 Ukázka jednoduchého filtru 331

547 Ukládání dat na stránkách JSP 332

548 Uložení dat prostřednictvím servletu 332

549 Dotaz na všechny atributy s platností požadavku 333

550 Dotaz na všechny atributy s platností relace 333

551 Dotaz na všechny atributy s platností aplikace 333

552 Jednoduchý objekt typu JavaBeans 334

553 Objekt JavaBeans na stránce JSP 334

554 Víceslovné hodnoty na stránkách JSP z kódu 335

555 Víceslovné hodnoty na stránkách JSP deklarativně 336

556 Zamezte souběžným požadavkům na servlet 336

557 Inicializační parametry servletu v kódu 337

558 Inicializační parametry servletu deklarativně 337

559 Zpracování požadavku HEAD 338

560 Nastavení prostředí pro tvorbu vlastních značek JSTL 338

561 Deklarace knihoven JSTL na stránce JSP 339

562 Aplikace jazyka výrazů JSTL 339

563 Použití příkazů JSTL s formátovacími značkami HTML 339

564 Dotaz na parametr požadavku pomocí JSTL 340

565 Ukládání dat pomocí JSTL 340

566 Zobrazení dat uložených pomocí JSTL 341

567 Podmíněná tvorba výstupu s knihovnou JSTL: if 341

568 Podmíněná tvorba výstupu s knihovnou JSTL: choose 342

569 Jednoduchá uživatelsky definovaná značka 342

570 Způsob užití uživatelsky definované značky 343

571 Hodnota atributu URI v direktivě taglib 344

Sokety 345

572 Tvorba serverového soketu 345

573 Tvorba klientského soketu bez časového omezení 345

574 Tvorba klientského soketu s časovým limitem 345

575 Čtení textu z objektu typu Socket 346

576 Zápis textu do objektu typu Socket 346

577 Odeslání datagramu 346

578 Příjem datagramu 347

579 Příjem dat ve skupině vícesměrového vysílání 347

580 Odesílání dat skupině odběratelů pomocí vícesměrového rozesílání 347

581 Připojení ke skupině vícesměrového vysílání 348

582 Odeslání požadavku POST prostřednictvím soketu 348

583 Problémy s třídou Socket 348

Obsah 21

584 Tvorba neblokujícího serverového soketu 349 585 Tvorba neblokujícího soketu 349 586 Čtení dat ze soketového kanálu 349 587 Zápis do soketového kanálu 350 588 Čekání na připojení pomocí serverového soketového kanálu 350 589 Řízení neblokujících serverových soketů pomocí objektů typu Selector 351 590 Řízení neblokujících soketů pomocí objektů typu Selector 351 591 Ošetření síťové komunikace pomocí neblokujících soketových kanálů 352 592 Způsob zjištění, zda vzdálený počítač zavřel připojení 353 593 Tvorba klientského soketu SSL 353 594 Tvorba serverového soketu SSL 354

Distribuované systémy 355 595 Komunikace mezi dvěma stroji JVM na jednom počítači 355 596 Posílání odkazů prostřednictvím soketů 355 597 RMI versus sokety 355 598 Volání systémových funkcí pomocí skriptů jazyka Perl 355 599 Překlad kódu v jazyce IDL 356 600 Implementace objektu proxy 356 601 Tvorba objektu proxy 357 602 Spouštění registru RMI 357 603 Spouštění názvového serveru 357 604 Definice a export přenositelných vzdálených objektů 357 605 Definice a export vzdáleného objektu 358 606 Načtení návratové hodnoty vzdálené metody 358 607 Předávání argumentů vzdálené metodě 360 608 Vyhledání vzdáleného objektu a volání jeho metod 361 609 Vyhledání vzdáleného objektu a volání jeho metod 362 610 Vyvolávání výjimek ze vzdálených metod 362 611 Tvorba a mazání vnořeného kontextu názvové služby (Naming Service) 363 612 Tvorba počátečního kontextu pro názvovou službu (Naming Service) 363 613 Užití adresy URL jako názvu počátečního kontextu 363 614 Vyhledání objektu pomocí názvové služby 364 615 Přidávání, náhrada, odstraňování a přejmenování vazeb v názvové službě 364 616 Dotaz na úplný název objektu 364 617 Výpis obsahu názvové služby 364

Správa paměti 365 618 Mazání nepotřebných objektů 365 619 Platnost objektů 365

22 Obsah

620 Je třeba určit, kdy bude objekt nepotřebný 366

621 Je třeba určit, kdy bude objekt vymazán z paměti 366

622 Explicitní uvolnění neplatných objektů z paměti 366

623 Explicitní uvolnění neplatných objektů z paměti 367

624 Explicitní uvolnění neplatných objektů z paměti 367

625 Dotaz na velikost dynamické paměti (haldy) v bajtech 367

626 Dotaz na volnou paměť v dynamické oblasti 367

627 Dotaz na maximální velikost haldy v bajtech 367

628 Dotaz na velikost obsazené paměti 367

629 Jak zachovat objekt, dokud je dostatek paměti 367

630 K čemu je vlastnictví objektu v systémové schránce? 368

631 Jak určit, zda je položka stále v systémové schránce 368

632 Třída pro vkládání obrázků do systémové schránky 368

633 Vkládání obrázků do systémové schránky 369

634 Výběr obrázků ze systémové schránky 369

635 Vložení textu do systémové schránky 370

636 Výběr textu ze systémové schránky 370

Souběžné zpracování 371

637 Tvorba pracovního vlákna odvozením od bázové třídy 371

638 Tvorba pracovního vlákna implementací rozhraní 371

639 Zastavení vlákna 372

640 Zachycení okamžiku ukončení běhu vlákna 372

641 Určení okamžiku, kdy dojde k ukončení běhu vlákna 373

642 Čekání na ukončení běhu vlákna 373

643 Pozastavení aktuálního vlákna 373

644 Nepoužívejte metody suspend() a resume() 373

645 Korektní pozastavení běhu vlákna 374

646 Implementace fronty pracovních vláken 374

647 Seskupování vláken 375

648 Jak vyhledat kořenovou skupinu vláken 375

649 Rekurzivní procházení všech vláken ve skupině 375

650 Výpis všech spuštěných vláken 376

651 Určujeme, zda vlákno drží synchronizační zámek 376

652 Ukončení aplikace se spuštěnými vlákny 377

653 Zcela bezpečná třída pro užití ve vláknech 377

654 Třída částečně bezpečná pro užití ve vláknech 378

655 Zastavení všech vláken po stisku Ctrl+C 378

Obsah 23

Tisk 379 656 Tisk textu 379 657 Tisk do souboru 379 658 Tisk hlavního okna aplikace 379 659 Implementace rozhraní Printable 380 660 Kostra jednoduchého tiskového programu 380 661 Zobrazení dialogu Tisk 380 662 Zobrazení dialogu Vzhled stránky 381 663 Dotaz na rozměry celé stránky 381 664 Dotaz na rozměry tisknutelné oblasti 381 665 Nastavení počtu kopií tiskové úlohy 381 666 Nastavení orientace tištěné stránky 382 667 Nastavení orientace tištěné stránky 382 668 Tisk stránek v různých formátech 382 669 Dotaz na implicitní tiskovou službu 383 670 Nalezení všech dostupných tiskových služeb 383 671 Nalezení tiskových služeb s podporou určitého formátu 383 672 Nalezení tiskárny 383 673 Nalezení tiskárny s možností barevného tisku 383 674 Vyhledání tiskových služeb pro datové toky 384 675 Tiskové služby pro datové toky v určitém formátu 384 676 Tvorba tiskové služby pro datové toky 384 677 Atributy tiskové služby 384 678 Atributy tiskové úlohy podporované tiskovou službou 385 679 Čekání na změnu stavu tiskové úlohy 385 680 Čekání na změny atributu tiskové úlohy 386 681 Čekání na změny stavů tiskových služeb 386 682 Dotaz na implicitní hodnotu atributu tiskové úlohy 387 683 Dotaz na možné hodnoty atributu tiskové úlohy 387 684 Implementace hlídače dokončení tiskové úlohy 388 685 Způsob užití hlídače dokončení tiskové úlohy 388 686 Zrušení tiskové úlohy 389 687 Kostra programu využívajícího tiskové služby 390 688 Tisk datového proudu do souboru 390

Soubory zásad a správce zabezpečení 391 689 Používejte správce zabezpečení 391 690 Deklarativní aktivace správce zabezpečení 391 691 Konfigurace ochrany souborů 392 Obsah 692 Kdy se zapíná správce zabezpečení 392 693 Udělování oprávnění a ochrana souborového systému 392 694 Nastavte vždy jen minimální oprávnění 393 695 Ochrana systémových vlastnosti pomocí oprávnění 394 696 Udělení oprávnění na základě podpisu autora 394 697 Udělení oprávnění více třídám na základě podpisu 395 698 Udělení kombinovaného oprávnění na základě podpisu 395 699 Adresy URL v souborech zásad 395 700 Kombinujte různé typy oprávnění 395 701 Jak zjistit provázanost oprávnění? 396 702 Rozvinutí systémových proměnných v souborech zásad 396 703 Správa souborů zásad 396 704 Tvorba nového souboru zásad 397 705 Dotaz na oprávnění pro adresu URL 398 706 Dotaz na oprávnění pro vybraný adresář 398 707 Výpis všech udělených oprávnění 398

Certifikáty, digitální podpisy, elektronické klíče

a šifrování 399 708 Certifikát zabezpečení 399 709 Digitální podpis I. 399 710 Digitální podpis II. 399 711 Cesta k certifikátu příslušného serveru SSL 399 712 Dotaz na rozlišovací názvy předmětu a vydavatele certifikátu X509 400 713 Export certifikátu do souboru 401 714 Export certifikátu do souboru pomocí nástroje keytool 401 715 Import veřejného klíče ze souboru certifikátu 401 716 Import veřejného klíče ze souboru certifikátu 402 717 Import veřejného klíče ze souboru certifikátu do nového úložiště certifikátů 402 718 Jak upravit soubor zásad pro ověření identity ve vhodném úložišti certifikátů 402 719 Načtení certifikátu z úložiště certifikátů 403 720 Ověření validity certifikační cesty 403 721 Převod certifikátů X509 z typu javax na typ java 404 722 Převod certifikátů X509 z typu java na typ javax 404 723 Tvorba certifikační cesty 404 724 Přidání certifikátu do úložiště certifikátů 405 725 Výpis certifikátů nejdůvěryhodnějších certifikačních úřadů z úložiště certifikátů 405 726 Výpis všech aliasů v úložišti certifikátů 406 727 Výpis všech aliasů v úložišti certifikátů pomocí nástroje keytool 406

Obsah 25

728 Výpis všech dostupných algoritmů pro ověřování validity certifikační cesty 406

729 Výpis všech dostupných formátů certifikátů 407

730 Načtení a uložení souboru v apletu 407

731 Veřejný a soukromý klíč 408

732 Dotaz na bajty generovaného páru klíčů 408

733 Dotaz na bajty generovaného symetrického klíče 409

734 Dotaz na parametry DSA pro dvojici klíčů 409

735 Dotaz na přihlašovací jméno aktuálně přihlášeného uživatele 410

736 Generování bezpečného náhodného čísla 411

737 Načtení dvojice klíčů z úložiště certifikátů 411

738 Jak ověřit oprávnění pro přístup k adresáři 411

739 Ověření podpisu bajtů ve vyrovnávací paměti 412

740 Ověření podepsaného objektu v jazyce Java 412

741 Konfigurace přihlášení k aplikaci 412

742 Ověřování uživatele při přihlášení k aplikaci 413

743 Řízení přístupu k objektu 413

744 Tisk trasovacích zpráv systému zabezpečení 414

745 Tvorba podpisu 414

746 Tvorba vlastního typu oprávnění 414

747 Příklady užití vlastního typu oprávnění 415

748 Výpis všech oprávnění udělených načtené třídě 416

749 Zákaz ověřování validity při připojení HTTPS 416

750 Tvorba páru šifrovacích klíčů s vlastním podpisem 417

751 Tvorba seznamu parametrů pro algoritmus Diffie-Hellman Key Agreement (DH) 417

752 Tvorba soukromého a veřejného klíče DH 418

753 Tvorba symetrického klíče DES 418

754 Tvorba symetrického klíče Blowfish 418

755 Tvorba symetrického klíče Triple DES 418

756 Tvorba symetrického klíče MAC pro algoritmus SHA1 419

757 Tvorba symetrického klíče MAC pro algoritmus MD5 419

758 Tvorba konspektu zprávy algoritmem MAC k ověření integrity zprávy 419

759 Tvorba šifrovaného výpisu zprávy algoritmem MD5 419

760 Tvorba soukromého a veřejného klíče RSA 420

761 Tvorba soukromého a veřejného klíče DSA 420

762 Tvorba klíčů na základě parametrů DSA 420

763 Generování tajného klíče pomocí algoritmu Diffie-Hellman Key Agreement (DH) 421

764 Šifrování objektů algoritmem DES 422

765 Třída pro šifrování algoritmem DES 422

766 Příklad užití třídy DesEncrypter 423

767 Třída pro šifrování algoritmem DES na základě hesla 423 Obsah 768 Příklad užití třídy DesEncrypterPass 424 769 Šifrování souboru nebo proudu algoritmem DES 424 770 Příklad užití třídy DesFileEncrypter 425 771 Převod 56bitové hodnoty na klíč algoritmem DES 426 772 Výpis všech dostupných typů kryptografických služeb 427 773 Výpis všech implementací daného typu kryptografické služby 427 774 Výpis všech dostupných generátorů soukromých nebo veřejných klíčů 428 775 Výpis všech dostupných generátorů symetrických klíčů 428 776 Výpis všech dostupných podpisových algoritmů 428 777 Seznam všech dostupných bezpečných generátorů náhodných čísel 429 778 Seznam všech dostupných šifrovacích a dešifrovacích algoritmů 429 779 Výpis všech dostupných algoritmů pro šifrování zpráv 429

Přehrávání zvuků, zvukových souborů

a sekvencí MIDI 431 780 Jednoduchý zvukový signál 431 781 Aplikační rozhraní Java Sound 431 782 JMF (Java Media Framework) 431 783 Digitálně vzorkovaná zvuková data v Javě 431 784 Formátovaná zvuková data 432 785 Datové formáty 432 786 Souborové formáty 432 787 Čtení a zápis zvuků 433 788 Program neskončí po ukončení metody main() 433 789 Diagnostika přítomnosti zvukového subsystému Java Sound 433 790 Načtení zvukového souboru z místního disku 433 791 Načtení zvukového souboru ze sítě 433 792 Jak načíst zvukový soubor bez hlavičky? 434 793 Formát zvukového souboru 434 794 Souborový formát zvukového souboru 434 795 Jak zjistit formáty podporované zvukovým systémem? 435 796 Úprava formátu zvukového souboru pro přehrávání v Javě 435 797 Přehrání zvukových souborů 436 798 Přehrávání souborů MP3 pomocí Java Sound API 436 799 Nepřetržité přehrávání zvukového souboru 436 800 Jak se dovíte, že jsou k dispozici další data pro zápis nebo čtení 437 801 Proč jsou metody getFramePosition() a getMicrosecondPosition() tak nepřesné? 437 802 Rozdíl mezi metodami isActive() a isRunning() 437 803 Nedostatek paměti při přehrávání zvukových souborů o velikosti větší než 5 MB 437

Obsah 27

804 Postupné přehrávání zvukové stopy z datového proudu 438

805 Délka zvukové stopy 438

806 Délka zvukového souboru 438

807 Pozice zvukové stopy 439

808 Nastavení hlasitosti přehrávání zvukové stopy 439

809 Pouštění mono-proudu jen do jednoho stereo-kanálu 439

810 Událost ukončení přehrávání zvukového souboru 440

811 Co je to sekvence MIDI 440

812 Zvukové banky MIDI 441

813 Která zvuková banka je implicitní, když je jich v počítači více? 441

814 Načtení implicitní zvukové banky 441

815 Načtení zvukové banky z konkrétního souboru 441

816 Zjištění základních údajů o zvukové bance 442

817 Zobrazení seznamu nástrojů dostupných ve zvukové bance 442

818 Proč metoda getAvailableInstruments() vrací prázdné pole? 442

819 Chyba „MIDI OUT transmitter not available“ 443

820 Načtení sekvence MIDI z místního disku 443

821 Načtení sekvence MIDI ze sítě 443

822 Souborový formát sekvence ve formátu MIDI 443

823 Přehrávání sekvence ve formátu MIDI 444

824 Přehrávání sekvence ve formátu MIDI z datového proudu 444

825 Délka sekvence ve formátu MIDI 445

826 Pozice sekvenceru MIDI 445

827 Nastavení hlasitosti přehrávání sekvence ve formátu MIDI 445

828 Opakované přehrávání sekvence MIDI v JDK 1.4- 446

829 Opakované přehrávání sekvence MIDI v JDK 1.5+ 446

830 Korektní ukončení přehrávání sekvence MIDI 446

Java Media Framework (JMF) 447

831 Rozdíl mezi JMF a rozhraním Java Sound API 447

832 Diagnostika prostředí pro tvorbu aplikací s podporou multimédií 447

833 Diagnostika prostředí pro tvorbu aplikací s podporou multimédií 447

834 Jednoduchý způsob ověření, zda multimediální soubor půjde přehrát ve vaší aplikaci 448

835 Adresa souboru s multimediálním obsahem 448

836 Tvorba objektu přehrávače multimediálního obsahu 448

837 Přehrávání multimediálního souboru 449

838 V jednoduchosti je síla: Přehrávač souborů MP3 449

839 Zobrazení videa pomocí lehkých komponent knihovny JFC/Swing 449

840 Univerzální panel pro zobrazení přehrávače médií v okně 450

841 Mini Media Player 451 Obsah 842 MDI Media Player 452 843 Dotaz na aktuální snímek 454 844 Dotaz na délku filmu v sekundách 455 845 Dotaz na počet snímků ve filmu 455 846 Převinutí multimediálního souboru 455 847 Převíjení filmu v přehrávači 456

Ovladače JDBC 457 848 Získání ovladačů JDBC pro příslušné databáze 457 849 Načtení ovladače JDBC 457 850 Ovladač použitý pro databázové připojení 457 851 Výpis všech načtených ovladačů JDBC 458 852 Výpis parametrů pro tvorbu připojení JDBC 458

Databáze a práce s daty 459 853 Dotaz na záznamy z databázové tabulky 459 854 Připojení k databázi ODBC a výpis obsahu tabulky 459 855 Tvorba nové databázové tabulky 460 856 Vložení nového záznamů do tabulky 460 857 Vložení záznamu do tabulky pomocí výsledné sady 460 858 Vymazání všech záznamů z databázové tabulky 460 859 Vymazání celé tabulky z databáze 461 860 Vymazání záznamu z tabulky pomocí výsledné sady 461 861 Vymazání vybraného záznamu z databázové tabulky 461 862 Vymazání vybraného záznamu z databázové tabulky 462 863 Aktualizace záznamu v databázové tabulce 462 864 Ovlivnění počtu záznamů načítaných z databáze 462 865 Potřebujeme zjistit počet záznamů v tabulce 463 866 Potvrzení nebo vrácení aktualizace databáze 463 867 Uložení binárních dat v databázové tabulce 463 868 Načtení binárních dat uložených v databázové tabulce 464 869 Načtení binárních dat pomocí objektu typu Blob 464 870 Zpracování výjimek při práci s databázemi SQL 464 871 Varovné zprávy databázového serveru 465 872 Zástupné znaky v příkazech jazyka SQL 466 873 Výpis detailů o připojené databázi 467 874 Dotaz na maximální délku názvu tabulky v databázi 467 875 Zjišťujeme, jaké funkce má databáze pro datum a čas 467 876 Zjišťujeme, jaké funkce má databáze pro práci s řetězci 467 877 Zjišťujeme, jaké funkce má databáze pro práci s čísly 468

Obsah 29

878 Zjišťujeme, zda databáze podporuje transakce 468 879 Jaké systémové funkce obsahuje připojená databáze 468 880 Dotaz na dostupné typy SQL připojené databáze 468 881 Jaké uložené procedury obsahuje připojená databáze 469 882 Žádost o seznam všech tabulek v databázi 469 883 Dotaz na všechna klíčová slova připojené databáze 469 884 Dotaz na možnost užití dávkového zpracování příkazů 470 885 Dotaz na podporu dynamických výsledných sad 470

Databáze a výsledné datové sady 471 886 Tvorba dynamické obousměrné výsledné sady 471 887 Jak zjistit, zda lze výslednou sadu aktualizovat 471 888 Tvorba obousměrných výsledných datových sad 471 889 Jak zjistit, zda je výsledná sada obousměrná 472 890 Je vybraný záznam ve výsledné sadě první? 472 891 Zjištění pozice vybraného záznamu v obousměrné výsledné sadě 472 892 Je vybraný záznam ve výsledné sadě poslední? 473 893 Procházení záznamů v obousměrné výsledné sadě 473 894 Názvy sloupců ve výsledné sadě 474 895 Načítání dat z výsledné sady 474 896 Hodnoty NULL v datech výsledné sady 475 897 Zjišťujeme počet záznamů ve výsledné sadě 476 898 Efektivnější zjištění počtu záznamů ve výsledné sadě 476 899 Jaké výsledné datové sady lze používat v připojené databázi 476 900 Aktualizace záznamu v databázové tabulce 477 901 Obnovení záznamu v dynamické výsledné sadě 477 902 Jak stornovat nechtěnou aktualizaci dat 478 903 Připojení k databázím MySQL 478 904 Připojení k databázím Oracle 479 905 Připojení k databázím SQL Server 479

Java ME a NetBeans 481 906 Mikroedice jazyka Java 481 907 CLDC (Connected Limited Device Configuration) 481 908 MIDP (Mobile Information Device Profile) 481 909 CDC (Connected Device Configuration) 481 910 Jak vyvíjet aplikace pro mobilní zařízení v integrovaném vývojovém prostředí NetBeans 482 911 Visual Mobile Designer 482 912 Práce ve vizuálním návrháři 482 913 Práce s emulátory 484 Obsah 914 Umístění úložiště emulátoru 484 915 Velikost úložiště emulátoru 484 916 Jak přidat kontakty do databáze emulátoru 485 917 Tvorba kontaktů pro testování 485 918 Ovládání emulátoru 486 919 Pozastavení aplikace spuštěné v emulátoru 486 920 Úprava výkonu emulátoru 486 921 Seznam emulátorů podporovaných v IDE NetBeans 487 922 Přidání nové platformy emulátoru do NetBeans 487 923 Změna implicitního zařízení emulátoru 488 924 Nastavení platformy CLDC/MIDP 488 925 Samostatné spuštění emulátoru 488

Midlety 489 926 Základní kostra midletu 489 927 Jednoduchý midlet 489 928 Jak na úvodní obrazovky v aplikacích typu Java ME 490 929 Úvodní obrazovka midletu 491 930 Neznámá velikost displeje 491 931 Využití celého displeje telefonu 492 932 Midlet s úvodní obrazovkou 493 933 Prohlížeč souborů v mobilním zařízení 494 934 Personal Information Management – PIM 495 935 Synchronizace kontaktů, kalendáře a seznamu úkolů 495 936 Tvorba kontaktů programově 495 937 Prohlížeč kontaktů 496 938 Tvorba vyčkávací stránky pro úlohy spouštěné na pozadí 497 939 Připojení k síti 498 940 Přihlašovací obrazovka 499 941 Vlastní program pro posílání zpráv SMS 500 942 Co je to formát SVG 501 943 Příklad jazyka SVG 501 944 Zobrazení vektorového obrázku 502 945 Otevření vektorové animace SVG 503

Databáze v mobilním zařízení 505 946 Jak ukládat data v mobilním zařízení 505 947 Citlivá osobní data v mobilním zařízení 505 948 Jak ukládat data do mobilní databáze 505 949 Jak číst data z mobilní databáze 506

Obsah 31

950 Zobrazení záznamů z mobilní databáze 506 951 Jak třídit záznamy v mobilní databázi 507 952 Jak vyvolat reakci na změny v databázi 507 953 Jak vymazat záznam z mobilní databáze 507 954 Jak vymazat celou databázi aplikace 508 955 Jak zjistit názvy všech databází aplikace 508 956 Jak zjistit velikost databáze 508 957 Jak zjistit, o kolik lze velikost databáze ještě zvětšit 508

Mobile Media API (JSR 135 API) 509 958 Hlavní objekty pro zpracování multimédií 509 959 Generování tónů 509 960 Jak určit kmitočet a výšku tónu 509 961 Tvorba přehrávačů 509 962 Typy mediálního obsahu 510 963 Adresování různých typů médií 510 964 Seznam podporovaných typů mediálních souborů 511 965 Seznam podporovaných protokolů 511 966 Určení typu mediálního souboru z adresy URL 511 967 Zachycení zvuku v mobilním zařízení 511 968 Přehrávání nahrávky 512 969 Nastavení hlasitosti přehrávání 512

Konfigurace a instalace mobilních aplikací 513 970 Vývoj aplikací pro různé typy zařízení pomocí konfigurací projektu 513 971 Vývoj aplikací pro různé typy zařízení pomocí atributů typu Ability 513 972 Vývoj aplikací pro různé typy zařízení pomocí direktiv preprocesoru 514 973 Spouštění více konfigurací najednou ve vývojovém prostředí NetBeans 514 974 Jak připravit aplikaci s pomocí vývojového prostředí NetBeans 514 975 Jak připravit aplikaci vlastními silami 514 976 Jak dostat aplikaci do mobilního te



       
Knihkupectví Knihy.ABZ.cz - online prodej | ABZ Knihy, a.s.
ABZ knihy, a.s.
 
 
 

Knihy.ABZ.cz - knihkupectví online -  © 2004-2019 - ABZ ABZ knihy, a.s. TOPlist