出版社内容情報
【セールスポイント】
Javaプログラミングの「1001」の秘法を教えます!
【発刊の目的と内容】
Java言語は、その普及のきっかけとなったWebページを飾るための用途を超えて、既存の言語同様あるいはそれ以上に応用範囲が広がりつつあります。本書は、Javaによるプログラミングを行う際の基礎事項や周辺のトピックをはじめ、実践的かつエレガントなプログラミングテクニックを、1001個のTipsにまとめて解説します。プログラミングのヒント得たり、スキルを向上するために最適の1冊です。本書中に掲載した全ソースコードなどを収録したCD-ROMを添付しています。
【購読対象者】
Javaによるプログラミングに携わる方
Webページ作成に携わる方
【付録】
CD-ROM付
【詳細目次】
■ここからはじめましょう
1. Javaはプログラミング言語です
2. HotJavaはWebブラウザです
3. Javaはオブジェクト指向言語です
4. Javaはプラットフォームに依存しません
5. Javaは安全です
6. Javaはロバストです
7. Javaは簡単に学習できます
8. Javaはインターネットのための言語です
9. Javaはイントラネットのための言語です
10. 添付CD-ROMからJava Developer's Kitをインストールする
11. インターネットからJDKをダウンロードする
12. Macintosh上にJDKをインストールする
13. Solaris上にJDKをインストールする
14. Mac向けのJava統合開発環境
15. Windows向けのJava統合開発環境
16. Javaの著作権に関する注意について理解する
17. HTMLのAPPLETタグについて理解する
18. アプレットのサイズを設定する
19. アプレットの高さと幅をパーセント単位で設定する
20. ALIGN属性を使ってアプレットの整列を行う
21.アプレットウィンドウのマージンを制御する
22. Java未対応ブラウザのためにALT属性を使用する
23. CODEBASE属性を使用してアプレットのダウンロード元を指定する
24. アプレットビューワを使ってJavaアプレットを実行する
25. Javaに関するサーバ側/クライアント側の互換性について
26. Javaアプレットをサポートするブラウザ
27. Netscape Navigatorのダウンロード
28. Netscape Navigatorのインストール
29. NetscapeをJava向けに設定する
30. Netscape Navigatorを使ってJavaアプレットを実行する
31. Microsoft Internet Explorerのダウンロード
32. Microsoft Internet Explorerのインストール
33. Internet ExplorerをJava向けに設定する
34. Internet Explorerを使ってJavaアプレットを実行する
35. 警告:Untrusted Java Applet Window
36. ClassFormatError例外について理解する
37. Netscape Navigatorの"Applet Not Initialized"エラー
38. α版/β版のアプレットに注意
39. Java, J++, OpenJ Builder (Latte), およびCafeについて
40. Javaに関するドキュメントの入手方法
41. プログラム開発プロセスについて理解する
42. ファイル形式について理解する
43. Javaのシステムコンソールについて理解する
44. ASCIIソースファイルを作成する
45. HTMLソースファイルを作成する
46. javacコンパイラを使ったJavaのコンパイル
47. javacコンパイラについて理解する
48. javac_gとは何ですか
49. Windows/UNIX上でのJavaのコンパイル
50. Mac上でのJavaのコンパイル
51. コンパイラの警告(Warning)とエラー(Error)について理解する
52. javacの出力を最適化する
53. Javaアプレットをサーバに置く
■プログラミングの基礎
54.ローカル変数の使い過ぎに注意
55. Windows 95とNTにおける大文字/小文字の問題
56. Javaアプレット対Javaアプリケーション
57. 簡単なJavaアプレットの構造
58. Javaアプレット "Hello, World"
59. "Hello, World"アプレットを実行する
60.アプレットの鍵となる関数について理解する
61. 簡単なJavaアプリケーションの構造
62. Javaアプリケーション "Hello, World"
63. Javaアプリケーションを実行する
64. Javaインタプリタについて理解する
65. cs(checksource)オプションを指定する
66. mainメソッドについて理解する
67. 文について理解する
68. コードブロックについて理解する
69. Javaプログラムに文を追加する
70. スタイルとアイデントについて理解する
71. セミコロンについて理解する
72. System.out.printlnを使った簡単なデバッグメッセージ
73. Javaは大文字/小文字を区別する
74. ロジック上のエラー(バグ)について理解する
75. プログラムの開発プロセスについて理解する
76. クラスに関連するファイルの種別について理解する
77. classes.zipファイルについて理解する
78. import文について理解する
79. import文でショートカット * を使用する
80. クラスを複数のファイルに分割してコンパイル速度を上げる
81. Javaの予約語
82. 修飾されていない名前と修飾された名前
83. あいまいな名前の参照はコンパイルエラーの原因
84. プログラムにコメントをつける
85. プログラムの文をコメントアウトする
86. 変数と型識別子について理解する
87. Javaの変数命名規則
88. わかりやすい名前を付ける方法
89. 変数宣言にコメントを付ける
90. 2進数について理解する
91. 変数に値を代入する
92. Javaの基本データ型について理解する
93. 同じ型の変数を複数宣言する
94. 変数の宣言時に値を代入する
95. Javaにおける文字について理解する
96. 16進/8進数を使用する
97. 符号付きの値について理解する
98. オーバーフローについて理解する
99. 浮動小数点型について理解する
100. Double型を使用する
101. 文字を使用する
102. 文字列を使用する
103. byte型について理解する
104. short型について理解する
105. int型について理解する
106. 整数値のオーバーフローに注意する
107. long型について理解する
108. float型について理解する
109. double型について理解する
110. 精度について理解する
111. char型について理解する
112. JavaとUnicode
113. boolean型について理解する
114. 変数の定義時に初期値を代入する
115. 基本型をキャストする必要のない場合
116. 基本型のキャスト方法
117. 文字/文字列中のエスケープシーケンスについて理解する
118. System.out.printlnを使って基本データ型を表示する
119. 基本的な算術演算子
120. 代入演算子を使用する
121. 複数の代入文を一文中につなげる
122. 整数値の除算に注意する
123. 変数定義時の算術演算
124. 剰余について理解する
125. インクリメント演算子について理解する
126. デクリメント演算子について理解する
127. インクリメント/デクリメント演算子の前置/後置
128. System.out.printlnを使って16進/8進数を表示する
129. 演算子の優先順位と結合規則
130. 丸かっこを使って演算子の評価順序を変更する
131. ビットごとのOR演算子について理解する
132. ビットごとのAND演算子について理解する
133. ビットごとのXOR演算子について理解する
134. ビットごとのNOT演算子について理解する
135. ビットごとのシフト演算を実行する
136. 演算子>>>を使用する
137. 演算子>>>をshort型、byte型に対して使った場合の問題
138. if文を使った条件節で値を調べる
139. 2つの値が等しいかどうかを比較する
140. 2つの値の大小を比較する(> < >= <=)
141. if-elseを使って条件判断を行う
142. else-ifを使って多重条件処理を行う
143. if-if-else文に注意する
144. 条件判断結果を代入する
145. boolean型の間違った使い方に注意
146. 論理積(&&)を使って2つの条件について調べる
147. 論理和(||)を使って2つの条件について調べる
148. 論理否定演算子(!)を使って条件について調べる
149. 論理演算子について理解する
150. 三項条件演算子について理解する
151. 論理式の最小評価を保証する
152. 重文中で変数を宣言する
153. インデントを使用して読みやすいプログラムにする
154. 浮動小数点型の値について調べる
155. whileループを使用する
156. forループを使用する
157. for文中の省略可能な部分
158. for文中でマイナスの増分値を使う
159. forループの増分値を制御する
160. forループ中で変数を宣言する
161. 無限ループについて理解する
162. 無限ループから脱出する
163. forループ中でカンマを使う
164. Doループを使用する
165. continue文について理解する
166. break文を使ってループを終了する
167. switch文を使って複数の条件について調べる
168. switch文でchar型の値を選択する
169. switch文中のbreak文について理解する
170. switch文でdefault文を使う
171. switch文よりもif-else文を使った方がよい場合
172. 関数を使って特定の仕事を行う
173. 関数は通常、値を返す
174. 関数に引数を渡す
175.関数のスコープについて理解する
176. ローカル変数について理解する
177. 「値による呼び出し」について理解する
178. 「値による呼び出し」と引数の値について
179. Javaにおける「参照による呼び出し」方法
180. 静的変数について理解する
181. 再帰呼び出しについて理解する
182. 再帰呼び出しを使用する
183. メソッドのオーバーロード
184. メソッドのオーバーライド
185. 変数のスコープと制御構造について理解する
■オブジェクト指向プログラミング
186. クラスはデータと操作をまとめたデータ構造
187. オブジェクトはクラス型の変数
188. オブジェクト指向プログラミングについて理解する
189. 抽象化について理解する
190. カプセル化について理解する
191. 継承について理解する
192. メソッドについて理解する
193. メソッドのシグネチャについて理解する
194. コンストラクタメソッドについて理解する
195. コンストラクタメソッドをオーバーロードする
196. ポリモーフィズムについて理解する: オーバーローディングタイプ
197. ポリモーフィズムについて理解する: オーバーライディングタイプ
198. abstractクラスについて理解する
199. Javaにおける継承
200. interfaceクラスについて理解する
201. インターフェイスを使ってグローバル定数を定義する
202. 継承を使う場面について理解する(is-a関係)
203. 継承を使う場面について理解する(has-a関係)
204. メソッドやクラスの拡張を制限する
205. メソッドとクラスの拡張を要求する
206. インターフェイスを使ってコールバックメソッドを作成する
207. オブジェクト指向プログラミングと手続き型プログラミング
■自分でクラスを定義する
208. 自分自身のクラスを定義する
209. 簡単なクラスオブジェクトを作成する
210. クラスに変数を追加する
211. クラスのメンバ変数に対するデフォルト値の割り当て
212. Javaではローカル変数に定数は定義できない
213. static変数を使用する
214. クラスにメソッドを追加する
215. クラスメソッドをオーバーロードする
216. 継承を使ってクラスを作成する
217. 継承とポリモーフィズムを実装する
218. スーパークラスとは何ですか
219. Javaのthisについて理解する
220. 予約語superについて理解する
221. superを使って親クラスのメソッドを呼び出す
222. 予約語newについて理解する
223. 予約語instanceofについて理解する
224. クラス型のキャスト
225. ==によるオブジェクトの比較は参照を比較する
226. 情報の隠蔽について理解する
227. クラスでは基本型を使いすぎない
228. クラス修飾子abstractについて理解する
229. クラス修飾子finalについて理解する
230. クラス修飾子publicについて理解する
231. データ修飾子publicについて理解する
232. データ修飾子privateについて理解する
233. データ修飾子protectedについて理解する
234. データ修飾子private protectedについて理解する
235. データ修飾子staticについて理解する
236. データ修飾子finalについて理解する
237. データ修飾子transientについて理解する
238. データ修飾子volatileについて理解する
239. デフォルトコンストラクタについて理解する
240. メソッド修飾子publicについて理解する
241. メソッド修飾子privateについて理解する
242. メソッド修飾子protectedについて理解する
243. メソッド修飾子private protectedについて理解する
244. メソッド修飾子staticについて理解する
245. メソッド修飾子finalについて理解する
246. メソッド修飾子abstractについて理解する
247. 問題のあるabstractなメソッドの例
248. メソッド修飾子nativeについて理解する
249. メソッド修飾子synchronizedについて理解する
250. 基本型のクラスメンバ変数は値で渡される
■Javaプログラミングの詳細
251. initメソッドについて理解する
252. startメソッドとstopメソッドについて理解する
253. paintメソッドについて理解する
254. destroyメソッドについて理解する
255. Netscape Navigator用のサイズ変更可能なアプレットを作成する
256. ステータス行に文字列を表示する
257. アプレットの入力引数を獲得する
258. アプレットの作成者情報を提供する
259. アプレットの引数情報を提供する
■JavaとC/C++との違い
260. Javaではgoto文はサポートされていない
261. Javaではラベル付きbreak文とcontinue文をサポートする
262. Javaではポインタはサポートされていない
263. Javaではプリプロセッサをサポートされていない
264. Javaでは配列やオブジェクト引数を参照によって渡す
265. JavaとC/C++におけるコマンドライン引数の違い
266. Javaのchar型はUnicodeをサポートするため16ビット
267. 予約語unsignedはサポートされていない
268. boolean型とinteger型の間の変換
269. Javaプログラムは獲得したメモリを自動的に解放する
270. Javaのループ条件はboolean型でなくてはならない
271. Javaはマルチスレッドをサポートしている
272. synchronized指定を使ってスレッドを制御する
273. Javaでは構造体や共用体はサポートされていない
274. Javaではvoid *型はサポートされていない
275. Javaではsizeof演算子はサポートされていない
276. Javaでは=と==を混同して使用することはできない
■Java言語の基礎
277. オブジェクトを生成する
278. 基本データ型のオブジェクトラッパー
279. オブジェクト間の比較と基本型間の比較
280. Characterオブジェクトを作成する
281.数字をあらわす文字かどうかを調べる
282. 文字が大文字か小文字かを調べる
283. 文字が空白かどうかを調べる
284. 文字を数値に変換する
285. Characterオブジェクトを比較する
286. クローンとコピーの違いについて理解する
287. cloneメソッドを使ってオブジェクトを複写する
288. cloneメソッドはデフォルトでは実装されていない
289. Stringオブジェクトを作成する
290. 明示的/非明示的な文字列の宣言について理解する
291. char型の配列をStringオブジェクトに変換する
292. Stringオブジェクトをchar型の配列に変換する
293. Stringオブジェクトをコピーする
294. あるStringオブジェクトに別のStringオブジェクトを結合する
295. 演算子+を使ってStringオブジェクトを結合する
296. 2つのStringオブジェクトを比較する
297. 2つのStringオブジェクトが等しいかどうかを調べる
298.
2つのStringオブジェクトが大文字小文字を区別しないで等しいかどうかを調べる
299. 2つのStringオブジェクトの一部分が一致しているかどうかを調べる
300. Stringオブジェクトの内容を1文字ずつ獲得する
301. Stringオブジェクトの長さを獲得する
302. Stringオブジェクトの一部分を獲得する
303. Stringオブジェクトの文字を置換する
304. Stringオブジェクト中で指定文字の最初の出現位置を検索する
305. Stringオブジェクト中で指定文字の最後の出現位置を検索する
306. Stringオブジェクト中で指定String値の最初の出現位置を検索する
307. Stringオブジェクト値中で指定String値の最後の出現位置を検索する
308. 文字列の先頭をチェックする
309. 文字列の末尾をチェックする
310. Stringオブジェクトの大文字小文字を変換する
311. 文字列の先頭/末尾につくホワイトスペースを削除する
312. 基本データ型をString型に変換する
313. Stringオブジェクトの参照、不変性、共用
314. StringクラスとStringBufferクラスが用意されている理由
315. StringBufferクラスのオブジェクトを作成する
316.
toStringメソッドを使ってStringBufferメソッドからStringメソッドに変換する
317. StringBufferオブジェクトにテキストを連結/挿入する
318. StringBufferオブジェクトの容量と文字数の違いについて理解する
319. StringBuffer中の文字列長をチェック/設定する
320. Booleanクラスのオブジェクトを作成する
321. 文字列TrueおよびFalseをBoolean型オブジェクトに変換する
322. Booleanオブジェクトを文字列TrueまたはFalseに変換する
323. booleanValueメソッドを使ってBooleanオブジェクトを変換する
324. Integerオブジェクトを作成する
325. Integerオブジェクトを他のデータ型に変換する
326. Integerオブジェクトを比較する
327. 他のデータ型からIntegerオブジェクトに変換する
328. 数値オブジェクト型の最小値/最大値を獲得する
329. 浮動小数点型の数値オブジェクトを使用する
330. 浮動小数点型オブジェクトからStirngオブジェクトへの変換の制限
331. 浮動小数点型数値のフォーマットクラスを独自に構築する
332. ドル記号をつけてフォーマットする
333. パーセント記号をつけてフォーマットする
■Javaの数学関数
334. 絶対値を獲得する
335. sqrtメソッドを使用する
336. cosメソッドを使用する
337. sinメソッドを使用する
338. tanメソッドを使用する
339. acosメソッドを使用する
340. asinメソッドを使用する
341. atanメソッドを使用する
342. 直交座標を極座標に変換する
343. 浮動小数点型の数値を丸める
344. 指定した浮動小数点値を超えない最大の整数値を求める
345. 指定した浮動小数点値を超える最小の整数値を求める
346. 浮動小数点値を直近の浮動小数点値に丸める
347. 指数関数の値を求める
348. 自然対数の底や円周率を獲得する
349. 浮動小数点値の剰余を求める
350. 自然対数の値を計算する
351. 2数の最大値/最小値を求める
352. べき乗を計算する
353. Mathクラスを使って浮動小数点型の乱数を作成する
354. 疑似乱数と真の乱数について理解する
355. 乱数生成時に使われるシード値を設定する
356. 浮動小数点型の乱数を作成する
357. 正規分布にしたがった乱数を作成する
358. 乱数の範囲を制御する
359. 作成される乱数の範囲
■Javaの日付関数
360. Dateクラスを使って現在の日付を獲得する
361. 2000年以降の日付の指定に注意する
362. Dateクラスを使って日付と時刻を設定する
363. Dateクラスを使って曜日を求める
364. Dateクラスの月と曜日は0から始まることに注意
365. Dateクラスを使って現在の時刻を獲得する
366. 基準年とは何ですか?
367. getTimeメソッドを使って現在の時刻をミリ秒単位で獲得する
368. getTimeメソッドを使ってプログラムの実行スピードを測定する
369. Dateオブジェクトの比較にafter、before、equalsの各メソッドを使う
370. StringオブジェクトをDateオブジェクトに変換する
371. Dateオブジェクト間の日数を求める
372. daysInMonthメソッドを作成する
373. 日付を表す別の基準について理解する
374. Dateオブジェクトのフォーマット形式の違い
375. DOS上での環境変数TZの設定
■配列を使ったデータの格納
376. 配列について理解する
377. 配列を宣言する
378. 基本データ型配列の作成
379. 基本データ型配列の初期化
380. 配列のインデックスについて理解する
381. 配列要素を代入する
382. 配列のサイズ(Length)を獲得する
383. 配列の参照について理解する
384. オブジェクトの配列を作成する
385. 多次元配列について理解する
386. 多次元配列を宣言する
387. 多次元配列を作成する
388. 多次元配列をまたがってループする
389. 要素数が一定していない多次元配列について理解する
390. 多次元配列を初期化する
391. 配列中の特定の値を検索する
392. バイナリサーチについて理解する
393. バイナリサーチを使用する
394. 配列をソートする
395. バブルソートについて理解する
396. バブルソートを使ってみる
397. クイックソートについて理解する
398. クイックソートを使ってみる
399. 基本データ型の配列をarraycopyする
400. オブジェクトの配列をarraycopyする
401. 配列に別タイプのオブジェクトを格納する
■イベント処理
402. イベント駆動型プログラムについて理解する
403. Eventクラスについて理解する
404. 便利なメソッドについて理解する
405. mouseDownメソッドを使用する
406. mouseUpメソッドを使用する
407. mouseDragメソッドを使用する
408. mouseMoveメソッドを使用する
409. clickCountを使ってダブルクリックを検出する
410. ダブルクリックを検出するもう一つの方法
411. マウスクリック時の修飾キーを検出する
412. 複数ボタンを持つマウスに関する問題について理解する
413. mouseEnterとmouseExitを使用する
414. キーボードイベントについて理解する
415. keyDownメソッドを使用する
416. keyUpメソッドを使用する
417. 複数の修飾キーが押されるのを検出する
418. 修飾キーを検出するもう一つの方法
419. 特殊キーを検出する
420. handleEventメソッドを使用する
421. イベントを処理「しない」方法
422. アプレットの終了を確認する
423. ウィンドウのアイコン化を検出する
■抽象化ウィンドウツールキット(AWT)
424. 抽象化ウィンドウツールキット(AWT: Abstract Window
Toolkit)について理解する
425. AWTのクラス階層を見る
426. Graphicsオブジェクトについて理解する
427. Javaの座標について理解する
428. Stringオブジェクトを描画する
429. char配列を描画する
430. translateメソッドを使って原点を設定する
431. 線を描画する
432. 長方形を描画する
433. 角の丸い長方形を描画する
434. drawRoundRectメソッドを使って円を描画する
435. 色を使って描画する
436. 定義済みの色を使用する
437. 新しい色を作成する
438. アプレットのデフォルト背景色を変更する
439. 長方形を塗りつぶす
440. 角の丸い長方形を塗りつぶす
441. 簡単な棒グラフを作成する
442. 楕円を描画する
443. drawOvalメソッドを使って正円を描画する
444. 楕円を塗りつぶす
445. 円弧を描画する
446. 円弧を塗りつぶす
447. 円グラフを作成する
448. 多角形を描画する
449. 多角形を塗りつぶす
450. 3-Dの長方形を描画する
451. 3-Dの長方形を塗りつぶす
452. オリジナルの3-D長方形を実装する
453. darkerメソッドとbrighterメソッドを使用する
454. getClipRectメソッドを使って更新が必要な領域を見つける
455. Rectangleオブジェクトを作成する
456. PointクラスとDimensionクラスについて理解する
457. PointオブジェクトがRectangleオブジェクトの領域内にあるかチェックする
458. 2つのRectangleオブジェクトが重なるかをチェックする
459. intersectionメソッドとunionメソッドを使用する
460. Polygonメソッドを作成する
461. PointオブジェクトがPolygonオブジェクトの領域内にあるかチェックする
462. Polygonオブジェクトを囲む最小の長方形を見つける
463. Fontオブジェクトを作成する
464. Javaで利用可能なフォント
465. 異なったフォントを使って描画する
466. 利用可能なフォントの一覧を獲得する
467. Fontオブジェクトに関する情報を獲得する
468. フォントメトリックについて理解する
469. フォントメトリックに関する情報を獲得する
470. テキストにアンダーラインを引く
471. 複数フォントを使ったテキストを描画する
472. テキストの整列を行う
473. ウェブ上にあるGIFイメージファイルを獲得する
474. イメージを描画する
475. イメージを引き伸ばして表示する
476. Javaの背景色をHTML文書の背景色と合わせる
477. Javaの背景パターンをHTML文書の背景パターンに合わせる
478. 画面の一部分をクリアする
479. Repaintメソッドを使用する
480. 画面の一部領域をコピーする
481. getGraphicsメソッドを使用する
482. ペイントモードを交替モード(XOR)に設定する
483. クリップ領域を設定する
484. createメソッドを使用してGraphicsオブジェクトのコピーを作成する
485. Graphicsオブジェクトを廃棄することの重要性について理解する
486. AWTのComponentクラスについて理解する
487. Labalを作成する
488. アプレットのレイアウトについて理解する
489. Labelオブジェクトを整列する
490. Buttonを作成する
491. Buttonオブジェクトのイベントを処理する
492. Buttonオブジェクトのラベル文字列を変更する
493. Buttonオブジェクトのラベルを読み取る
494. Checkboxオブジェクトを作成する
495. Checkboxオブジェクトの状態を設定/獲得する
496. Checkboxオブジェクトのイベントを処理する
497. CheckboxGroupクラスを使ってチェックボックスボタン群をグループ化する
498. Checkboxgroupオブジェクト(オプションボタン)の状態を獲得する
499. TextFieldオブジェクトを作成する
500.
パスワードの入力にTextFieldオブジェクトを使用する(setEchoCharacterメソッド)
501. TextFieldオブジェクト内での<Enter>キー入力を検出する
502. TextAreaオブジェクトを作成する
503. TextAreaオブジェクト内にテキストを挿入する
504. TextAreaオブジェクトにテキストを追加する
505. TextArea中のテキストを置換する
506. TextComponentクラスについて理解する
507. 選択中のテキストを獲得する
508. テキストの選択位置を獲得する
509. テキストを選択する
510. テキストの編集を可能/不可にする
511. スクロールリストを作成する
512. スクロールリストに項目を追加する
513. スクロールリスト中の選択項目を獲得する
514. スクロールリストから複数項目を選択する
515. スクロールリストの項目選択イベントを処理する
516. スクロールリストから項目を削除する
517. スクロールリスト内の項目を置換する
518. スクロールリスト内の全項目を獲得する
519. スクロールリスト内の項目をプログラムから選択する
520. スクロールリスト内の項目に対するダブルクリックを検出する
521. ポップアップ選択メニューを作成する
522. ポップアップメニューの選択中項目を獲得する
523. ポップアップメニューのイベントを処理する
524. Flowlayoutを使ってみる
525. BorderLayoutクラスを使って画面をレイアウトする
526. BorderLayoutを使ってコンポーネント間にギャップを追加する
527. Gridlayoutを使用する
528. addメソッドを使ったコンテナに対するコンポーネントの追加について
529. 複数のレイアウトを合わせて独自のユーザーインタフェイスを作成する
530. レイアウト中のコンポーネントを削除する
531. CardLayoutを使用する
532. CardLayoutを使ってページをめくるその他の方法
533. GridBagLayoutについて理解する
534. GridBagConstraintsのフィールドについて理解する
535. GridBagConstraintsのweightx、weightyフィールドについて理解する
536. GridBagConstraintsのfillフィールドについて理解する
537. GridBagConstraintsのanchorフィールドについて理解する
538. GridBagConstraintsのipadx、ipadyフィールドについて理解する
539. GridBagConstraintsのinsetsフィールドについて理解する
540. レイアウトマネージャを使わないでコンポーネントを配置する
541. スクロールバーを作成する
542. スクロールバーに関するイベントを使用する
543. スクロールバーの位置を獲得/設定する
544. スクロールバーのインクリメントを設定する
545. 新規スクロールバーの最大値、および最小値を設定する
546. Canvasクラスを使用する
547. スクロールバーを使ってイメージのスクロールを行う
548. コンポーネントをイネーブル/ディスエーブルにする
549. コンポーネントを表示/非表示にする
550. AWTコンポーネントの背景色を設定する
551. AWTコンポーネントの前景色を変更する
552. コンポーネントのフォントを変更する
553. コンポーネントのサイズと位置を調べる
554. ローン計算アプレットを作成する
555. データチェックを行う入力フォームを作成する
556. 入力フォーカスについて理解する
557. TABキーを使って入力フィールドを次に移す
558. フレームを作成する
559. disposeメソッドを使ってFrameオブジェクトを廃棄する
560. Frameを使ったGUIを備えたJavaアプリケーションを作成する
561. アプレットとアプリケーションでのデフォルトレイアウトマネージャの違い
562. 複利計算アプリケーションを作成する
563. カーソルを変更する
564. Frameのタイトルを設定する
565. アイコンイメージを変更する
566. プルダウンメニューをフレームに付加する
567. メニュー項目に対するイベントを処理する
568. セパレータを使ってメニュー項目を分割する
569. サブメニューの作成方法
570. チェックボックス項目をメニューに追加する
571. チェックボックスメニュー項目の状態を取得/設定する
572. メニュー項目を有効/無効にする
573. メニュー項目を削除する
574. メニュー中の項目数を数える
575. postEventメソッドを使ってメニュー選択をシミュレートする
576. ダイアログボックスを作成する
577. ダイアログボックスのタイトルを設定する
578. packメソッドについて理解する
579. Aboutダイアログボックスの作成
580. ダイアログボックス上でのユーザー入力を処理する
581. モーダルダイアログボックス上でのユーザー入力を処理する
582. ファイル選択の際にFileDialogクラスを使用する
583. FileDialogインターフェイスはプラットフォームに依存する
584. FileDialogインターフェイスから情報を取得する
585. ファイル保存ダイアログボックスの作成方法
586. setFileメソッドとsetDirectoryメソッドを使ってデフォルト選択を設定する
587. ファイル名フィルタを使って特定形式のファイル名だけを表示する
588. 現在の画面サイズと解像度を取得する
589. ダイアログボックスを画面の中央に表示する
590. Peerクラスについて理解する
■マルチメディアプログラミング
591. オーディオクリップを再生する
592. AudioClipクラスを使用する
593. オーディオクリップの再生を停止する
594. オーディオクリップを繰り返し再生する
595. ピアノアプレットを作成する
596. .WAVファイルを.AUファイルに変換する
597. 簡単なアニメーションを作成する
598. スクロールするテキストのアニメーションを実行する
599. イメージを使った簡単なアニメーションを作成する
600. updateメソッドをオーバーライドしてちらつきを抑える
601. クリップ領域を使ってアニメーションを効率的に表示する
602. 透過GIFファイルを使用する
603. ダブルバッファリングを使ったアニメーション表示
604. イメージオブザーバについて理解する
605.
imageUpdateメソッドをオーバーライドしてイメージのローディング状況を検出する
606. イメージのサイズを取得する
607. メディアトラッカーを使ってイメージを先読みする
608. メディアトラッカーによるイメージローディングとタイムアウト設定
609. アニメーションのズームインを行う方法
610. Javaのイメージインターフェイスについて理解する
611. デフォルトのカラーモデルについて理解する
612. ダイレクトカラーモデルについて理解する
613. MemoryImageSourceクラスを使ってイメージを作成する
614. インデックスカラーモデルについて理解する
615.
MemoryImagesSourceオブジェクトとIndexColorModelオブジェクトを使ったイメージ
を作成する
616. PixelGrabberクラスを使ってピクセル値を獲得する
617. ピクセルに対応する色の各構成要素を取得する
618. カラースペースについて理解する
619. カラースペース変換メソッドを使用する
620. イメージフィルタを使用する
621. RGBImageFilterを使用する
622. 透明色変換フィルタを作成する
623. アニメーションにフェードイン効果を加える
624. 自分自身のイメージフィルタを作成する
625. イメージをシャープにする
■3-Dグラフィックス
626. Javaで3-Dアプレットやアプリケーションを作成する
627. 3-Dの座標系について理解する
628. ベクトルについて理解する
629. ベクトルの大きさを計算する
630. ベクトルの和を求める
631. ベクトルの内積を求める
632. ベクトルの外積を求める
633. ビューポートについて理解する
634. マトリックスについて理解する
635. 3-Dマトリックスを実装する
636. 3-D上の点を実装する
637. translateマトリックスを作成する
638. translateマトリックスを使用する
639. scaleマトリックスを作成する
640. scaleマトリックスを使用する
641. x軸方向回転マトリックスを作成する
642. y軸方向回転マトリックスを作成する
643. z軸方向回転マトリックスを作成する
644. マトリックスを使ってオブジェクトを回転させる
645. オブジェクトに対してマトリックスを使った複数の操作を行う
646. 2つのマトリックスを結合する
647. 直交座標への変換について理解する
648. シータ(θ)、パイ(π)、オメガ(ω)の3角度について理解する
649. 直交座標への変換マトリックスを作成する
650. Cubeクラスを作成する
651. 3-Dから2-Dへの(直交座標を使った)変換
652. 3-Dオブジェクトの移動方法
653. 3-Dオブジェクトのサイズ変更方法
654. 3-Dオブジェクトの回転方法
655. 裏面の削除について理解する
656. 表面に対する垂直ベクトルを計算する
657. 裏面削除を実行する
658. 遠近法について理解する
659. 遠近法に基づく変換マトリックスを作成する
660. transformメソッドによる遠近法に基づいた変換マトリックスの作成
661. 遠近法を使った3-Dから2-Dへの変換
■ストリームI/Oの操作
662. I/Oストリームについて理解する
663. Fileクラスを使用する
664. FileInputStreamクラスを使ってファイルを読み込む
665. I/O操作中の例外を処理する
666. 入力ストリームから1バイトずつデータを読み込む
667. ストリームをクローズする
668. 入力ストリームからの読み込みをスキップする
669. DataInputStreamクラスについて理解する
670. DataInputStreamクラスを使った1行読み込み
671. トークン化について理解する
672. StringTokenizerを使用する
673.
hasMoreTokensメソッドやnextTokenメソッドを使ってトークンリスト中を移動する
674. StringTokenizerオブジェクト中のトークン数を調べる
675. トークン化の途中でデリミタ文字を変更する
676. トークナイザを使ったデータ解析
677. LineNumberInputStreamクラスを使って読み込みデータの行番号を保持する
678. SequenceInputStreamクラスについて理解する
679. FileOutputStreamクラスを使ったファイルへの書き出し
680. 出力ストリームにバイトデータを書き出す
681. DataOutputStreamクラスを使用する
682. RandomAccessFileクラスを使用する
683. RandomAccessFileクラスのseekメソッドを使った情報の探索
684. PrintStreamクラスについて理解する
685. 入力/出力ストリームにバイト配列を使用する
686. StringBufferInputStreamクラスを使用する
687. BufferedInputStreamクラスとBufferedOutputStreamクラスについて理解する
688. markメソッドやresetメソッドを使ってデータを読み直す
689. PushbackInputStreamを使用する
690. PrintStreamクラスを使った出力について
691. Fileクラスを使ってファイルのパス情報を取得する
692. 動作プラットフォームに対応するファイルセパレータ文字を獲得する
693. ファイルパス中にバックスラッシュを使用する際に注意する点
694. ディレクトリ中のファイルを一覧表示する
695. listメソッド中でFilenameFilterを使用する
696. ファイルサイズを取得する
697. ファイルの更新時間を取得する
698. ディレクトリを作成する
699. ファイルパスに含まれるディレクトリをすべて作成する
700. ファイル名を変更する
701. ファイルに対して読み込み可能か/書き込み可能かどうかを調べる
702. ファイルを削除する
703. ディレクトリリストの再帰表示
704. RLEデータ圧縮について理解する
705. RLEフィルタ出力ストリームを作成する
706. RLEフィルタ入力ストリームを作成する
707. コンソールからの入力を取得する
708. 標準エラーストリームに出力する
■例外処理
709. 例外処理について理解する
710. throwとcatchについて理解する
711. Exception(例外)クラスのサブクラスについて理解する
712. 例外をthrowする
713. 例外をcatchする
714. 複数の例外をcatchする
715. tryブロックについて理解する
716. 非明示的な例外のthrowについて理解する
717. コードのバイパスについて理解する
718. finallyブロックを使用する
719. 例外を指定する
720. 例外の呼び出し階層上方遷移について
721. 例外と継承について理解する
722. catch対象となる例外種別をまとめてはならない
723. 自分で例外を作成する
724. getMessageメソッドを使用する
725. 例外に対してデータを渡す
726.例外を正しく拡張する
■マルチスレッドプログラミング
727. スレッドとは?
728. マルチスレッドについて理解する
729. スレッドの状態について理解する
730. スレッドの一般的なインプリメンテーション
731. スレッドのあまり一般的でないインプリメンテーション
732. スレッドを開始する
733. runメソッドを使用する
734. threadをsleepさせる
735. スレッドの外部からsleepメソッドを呼び出す
736. スレッドの優先順位を変更する
737. スレッドのキューについて理解する
738. 行儀の良いスレッド、悪いスレッド
739. 他のスレッドと時分割で実行する
740. スレッドを一時停止/再開する方法
741. スレッド間で共有しているデータの同期を取る
742. 共有データの同期を取る別の方法
743. 同期データの待ち合わせ
744. waitメソッドとnofityメソッドを使用する
745. 飢餓スレッドについて理解する
746. デッドロックについて理解する
747. スレッドの状態をチェックする
748. アプレット中のスレッドについて理解する
749. Webブラウザのリサイズ操作を処理する
750. スレッドグループを作成する
751. スレッドグループ中のスレッドにアクセスする
752. デフォルトのスレッドグループを使用する
753. スレッドのプラットフォームに依存する部分を把握しておく
754. I/Oブロッキングを回避する
755. デーモンスレッドについて理解する
756. タイマースレッドを作成する
■動的データ構造
757. リストリンクについて理解する
758. 単方向リストリンクを作成する
759. 単方向リストリンク内にアクセスする
760. 単方向リストリンク中に項目を追加する
761. 単方向リストリンク中の要素を削除する
762. 双方向リストリンクを作成する
763. 双方向リストリンク中に項目を追加する
764. 双方向リストリンク中の項目を削除する
765. 汎用的な双方向リストリンククラスを作成する
766. リストリンクをファイルに保存する
767. ファイルに保存した内容をリストリンクに設定する
768. キューについて理解する
769. キューを実装する
770. バイナリツリーについて理解する
771. バイナリツリーを作成する
772. バイナリツリーの例
773. Vectorクラスについて理解する
774. JavaのVectorクラスを使用する
775. Vectorオブジェクト中の要素数を取得する
775. elementAtメソッドを使って特定の項目を取得する
777.基本データ型をVectorオブジェクトに格納する
778. Vectorオブジェクトの格納容量、および増分を設定する
779. Vectorオブジェクト中に要素を挿入する
780. Vectorオブジェクト中の要素を削除する
781. Vectorオブジェクト中のオブジェクトを検索する
782. 同一Vectorオブジェクト中に異なった種類のオブジェクトを格納する
783. Vectorクラスを拡張してデータフィールドを保護する
784. ハッシュテーブルについて理解する
785. Javaでハッシュテーブルを使用する
786. ハッシュテーブルの初期容量とテーブル占有率を設定する
787.
Enumerationインターフェイスを使ってハッシュテーブル中の要素にアクセスする
788. スタックについて理解する
789. Javaでスタックを使用する
790. スタック中の項目値を検索する
791. スタックベースの計算機を作成する
792. ビットセットについて理解する
793. ビットセットを使用する
794. BitSetオブジェクトに対して論理演算を行う
795. プロパティリストについて理解する
796. プロパティリストを作成する
797. プロパティリストからプロパティを取得する
798. プロパティリストの内容を列挙する
799. プロパティリストファイルからプロパティをロードする
800. プロパティリストの内容をファイルに保存する
801. デフォルトプロパティを設定する
802. プロパティリストを使ってアプリケーションをカスタマイズする
803. getPropertyメソッドを使って指定したシステムプロパティを取得する
804. getPropertiesメソッドを使って全システムプロパティを取得する
805. 自分で作成したデータ構造に対してEnumerationインターフェイスを実装する
■ネットワークプログラミング
806. ネットワークについて理解する
807. インターネットについて理解する
808. TCP/IPについて理解する
809. クライアント-サーバアプリケーションについて理解する
810. プロトコルについて理解する
811. TCP/IPプロトコルについて理解する
812. インターネットアドレスについて理解する
813. ドメイン名について理解する
814. InetAddressクラスについて理解する
815. ローカルホストのIPアドレスを取得する
816. ドメイン名に対応するIPアドレスを取得する
817. ポート番号について理解する
818. URL(Universal Resource Locator)について理解する
819. URI(Universal Resource Identifier)について理解する
820. URL文字列をエンコードする
821. URLオブジェクトを作成する
822. showDocumentメソッドを使って新規文書を表示する
823. ブラウザ中にHTML文書を表示する別の方法
824. アプレットの存在するHTMLページのURLを取得する
825. アプレットのURLを取得する
826. インターネット経由でファイルを読み込む
827. コンテントタイプとサブタイプについて理解する
828. コンテントハンドラについて理解する
829. getContentメソッドを使用する
830. ファイルのコンテントタイプを調べる
831. 自分のコンテントハンドラを作成する
832. サーバとポート間の関係について理解する
833. ソケットのコネクションについて理解する
834. クライアント側のソケットのコネクション作成方法
835. serverSocketオブジェクトを作成する
836. ソケットのコネクションをまたがるストリームについて
837. サーバからクライアントに対して文字列を送信する
838. サーバから送信された文字列をクライアント側で受信する
839. ソケットのコネクションを閉塞する
840. クライアント/サーバアプリケーションをローカルマシン上でテストする
841. ループバックアドレスを使用する
842. アプレットのクライアント制限について理解する
843. appletviewerを使ってクライアントアプレットをテストする
844. サーバはマルチスレッド化されていなければならない
845. マルチスレッドサーバを実装する
846. マルチスレッドクライアントを実装する
847. 単一アプリケーション内でのクライアントとサーバの実装例
848. SMTPプロトコルについて理解する
849. Javaアプリケーションから電子メールを送信する
850. プロキシサーバの利用方法
851. チャットエリアについて理解する
852. 独自のチャットプロトコルを作成する
853. チャットアプレットのインターフェイスを作成する
854. チャットアプレットのイベント処理
855. chatServerから受信したメッセージを処理する
856. chatServerのクライアント接続受け入れ処理
857. chatServerのClientスレッドクラスを作成する
858. chatServerのメソッドを実装する
859. CGIスクリプトについて理解する
860. CGIスクリプトをアプレットから実行する(GETメソッド)
861. アプレットからCGIスクリプトを実行する(POSTメソッド)
862. Javaを使ってCGIスクリプトを記述する
■メモリ管理について
863. ガベージコレクションのプロセスについて理解する
864. 利用可能なメモリ容量を取得する
865. 全メモリ容量を取得する
866. ガベージコレクションの手助けをする
867. ガベージコレクションを強制的に実行する
868. Javaインタプリタ使用時にガベージコレクションを行わないようにする
869. finalizeメソッドについて理解する
870. finalizeメソッドを強制的に実行する
871. finalizeメソッドの連鎖呼び出し
■データベース接続とJDBC
872. リレーショナルデータベースについて理解する
873. インターネット上でのリレーショナルデータベースの役割
874. SQLについて理解する
875. SQLのSELECT文について理解する
876. SQLを使って列を選択したデータベース検索例
877. SQLを使って行を選択したデータベース検索例
878. SQLを使った結合操作の例
879. SQLを使ったデータベースの更新
880. SQLを使ったデータベースに対するデータの挿入
881. 表を作成する
882. JDBCとは何ですか
883. JDBCドライバについて理解する
884. JDBCサブプロトコル名とは何ですか?
885. JDBCに対するアプレットの制限の影響について理解する
886. JDBC URLの指定方法
887. JDBC URLを使ってODBCデータベースに接続する際の例
888. JDBC URL中でネームサーバを使用する
889. データベースに接続する
890. SQLクエリーを作成する
891. ResultSetを使ってクエリーの結果を取得する
892. get系のメソッドを使って異なったデータ型に対してアクセスする
893. 読み出しにおける左から右方向規則と一度だけの規則について理解する
894. wasNULLメソッドを使ってNULL値を検出する
895. SQLにおけるデータ型のJavaにおけるデータ型の対応について理解する
896. InputStreamを使って巨大データ要素を読み込む
897. preparedStatementを使用する
898. set系メソッドについて理解する
899. set系メソッドを正しく使う
900. パラメタをnullに設定する
901. データの切り捨てについて
902. java.sql.Numericパッケージについて理解する
903. java.sql.Dateパッケージについて理解する
904. java.sql.Timeクラスについて理解する
905. java.sql.Timestampクラスについて理解する
■オブジェクトのシリアル化
906. オブジェクトのシリアル化を使用する
907. オブジェクトをストリームに書き出す
908. オブジェクトをストリームから読み込む
909. オブジェクトのリストをストリームに書き出す
910. オブジェクトのリストをストリームから読み込む
911. 異なる型のオブジェクトのリストを書き出す
912. 異なる型のオブジェクトのリストを読み込む
913. 他オブジェクトを参照するオブジェクトをシリアル化する
914. シリアル化された他オブジェクトを参照するオブジェクトの読み込み
915. 永続性について理解する
916. 複数の参照元を持つオブジェクトをシリアル化する
917. シリアル化された複数の参照元を持つオブジェクトを読み込む
918. Javaのオブジェクトシリアル化ライブラリを使用する
919. Object Serialization Libraryについて
920. ObjectOutputStreamについて理解する
921. writeObjectメソッドを使用する
922. ObjectInputStreamコンストラクタについて理解する
923. readObjectメソッドを使用する
924. Object Serialization Libraryをテストする
925. Object Serialization Libraryの便利な使い方は?
■Javaとセキュリティ
926. アプレットのセキュリティ制限
927. どうしてアプレットに対する制限が厳しいのか
928. アプレットがホストに接続可能かどうかを調べる
929. Javaプログラムからファイルの読み込みが可能かを調べる
930. Javaプログラムからファイルへの書き込みが可能かを調べる
■Javaプログラムのデバッグ
931. JDBを使ったJavaプログラムのデバッグ
932. クラスを指定してjdbを起動する
933. 起動中のアプレットにjdbをアタッチする
934. jdbの基本コマンド
935. jdbの例外処理方法
936. jdbのオプションについて
937. jdbと環境変数
938. アプレットビューワを使ってJavaデバッガを起動する
939. javapを使ってクラスファイルを逆アセンブルする
940. javapのオプションについて
941. javapに環境変数を指定する
942. jdbとセキュリティ
943. jdbセッションの例
944. jdbを使ってサンプルアプレットをデバッグする
945. traceInstructionsを使用する
946. traceMethodCallsを使用する
947. スタックトレースを使ったデバッグ
948. Netscape上でJavaアプレットの更新とリロードを行う
■カスタムコントロールの作成
949. カスタムコントロールの作成方法について理解する
950. グラフィカルなボタンについて理解する
951. グラフィカルなボタンを実装する
952. グラフィカルなボタンを使用する
953. アプレット内でのカスタムコントロールについて理解する
954. トラックボールコントロールについて理解する
955. トラックボールコントロールを実装する
956. Trackballクラスとインターフェイスについて理解する
957. トラックボールコントロールを使用する
958. ゲージコントロールについて理解する
959. ゲージコントロールを作成する
960. ゲージコントロールを使用する
961. スライダーコントロールについて理解する
962. スライダーコントロールを作成する
963. スライダー上のビーズの動きについて理解する
964. スライダーコントロールのインターフェイスについて理解する
965. スライダーコントロールを使用する
966. プログレスメーターについて理解する
967. プログレスメーターを作成する
968. プログレスメーターを使用する
■Java Tipsn応用
969. 簡単なペイントプログラムについて理解する
970. フローティングツールバークラスを実装する
971. フローティングツールバークラスを使用する
972. boundBoxクラスを実装する
973. boundBoxクラスを使って矩形を描画する
974. gridAreaクラスを実装する
975. gridAreaクラスを使ってグリッドを描画する
976. 長方形を描画する際にグリッドを元に位置合わせする
977. Rectangleクラスを拡張する
978. colorRectクラスを使って描画する
979. 矩形領域の選択と選択解除
980. 描画オブジェクトのリストから指定された矩形領域を削除する
981. moveRectクラスを実装する
982. moveRectクラスを使用する
983. カーソルを変更する
984. ペイントプログラムで元に戻す操作(undo)とやり直す操作(redo)を実装する
985. デジタル時計を作成するためのテクニック
986. デジタル時計のサンプル
987. javadocコマンドを使ってプログラムのドキュメントを作成する
988. javadocによって生成されるドキュメント中にコメントを追加する
989. javadocが使用する特別なタグについて
■Java Tipsのまとめ
990. Java仮想マシンが重要な理由
991. リモートメソッド呼び出し(RMI)について理解する
992. RMIの背景についての詳細
993. Netscapeを使用した場合のRMIのコンパチビリティに関する問題
994. RMIに関するさらに詳しい情報を手に入れる
995. MacOSのJavaランタイムについて理解する
996. JavaのJITコンパイラについて
997. java2cトランスレータについて
998. Sun Microsystems社のオフィシャルバグリストについて
999. JavaのIDLシステムについて理解する
1000. Java Beansについて理解する
1001. インターネット上でのJavaリソース
内容説明
本書は、Mark C.Chan、Steven W.Griffith、Anthony F.Iasiの3人による『1001 Java Programmer’s Tips』の日本語訳です。さまざまな場面で役に立つコツのことを英語ではtipと呼びますが、本書ではJavaプログラミングの際に役立つ1001のコツが紹介されています。
目次
ここからはじめましょう
プログラミングの基礎
オブジェクト指向プログラミング
自分でクラスを定義する
Javaプログラミングの詳細
JavaとC/C++との違い
Java言語の基礎
Javaの数学関数
Javaの日付関数
配列を使ったデータの格納
イベント処理
抽象化ウィンドウツールキット(AWT)〔ほか〕