第1章 はじめに 1 |
1.1 インターネット環境でのプログラミングとJava 1 |
1.2 仮想マシンとバイトコード 2 |
1.3 準備-ソフトウェアなどの入手- 4 |
1.4 準備-必要なクラスとコンパイル- 5 |
第2章 オブジェクトの作成とメソッド呼び出し 6 |
2.1 オブジェクトとクラス 6 |
2.2 タートルグラフィックス 7 |
2.3 最初の例題-オブジェクトの生成とメソッド呼び出し- 7 |
2.4 コンパイルと実行 10 |
2.5 TurtleFrameとTurtleの仕様 11 |
2.6 もう少し複雑な例題-標準クラスライブラリの利用- 12 |
2.7 さらにもう1つの例-値を返すメソッドとインスタンス変数- 17 |
2.8 オブジェクトとは?-再び 19 |
第3章 プリミティブ値,およびクラスメソッドとクラス変数 21 |
3.1 オブジェクトとプリミティブ値との違い 21 |
3.2 プリミティブ型 23 |
3.3 クラス変数,クラスメソッド 23 |
3.4 標準クラスライブラリに存在するクラスメソッド,クラス変数 25 |
3.5 ラッパークラス 27 |
3.6 ガーベッジ・コレクション 28 |
3.7 式と文 28 |
3.8 演算子 29 |
3.8.1 算術演算子とキャスト演算子 30 |
3.8.2 代入演算子 31 |
3.8.3 関係演算子と倫理演算子 31 |
3.8.4 演算子の優先順位 32 |
第4章 処理の流れ 34 |
4.1 for文による繰り返し 34 |
4.2 繰り返しのネスト 37 |
4.3 while文による繰り返し 38 |
4.4 if文 39 |
4.5 break文 40 |
4.6 switch文 42 |
第5章 配列 43 |
5.1 配列 43 |
5.2 初期値をもった配列 44 |
5.3 多次元の配列 46 |
5.4 Stringクラス 48 |
5.5 mainの引数 49 |
第6章 クラスの作成 51 |
6.1 メソッドの追加 51 |
6.2 メソッドの多重定義(オーバーロード) 55 |
6.3 値を返すメソッド 56 |
6.4 インスタンス変数 56 |
6.5 コンストラクタ 59 |
6.6 クラス変数,クラスメソッド 60 |
6.7 mainメソッド 61 |
6.8 内部クラス 62 |
6.9 まとめの例題 63 |
第7章 メソッドの再定義と動的結合 65 |
7.1 型について 65 |
7.2 参照型のキャスト 67 |
7.3 メソッドの再定義(オーバーライド) 68 |
7.4 final,abstractなどの修飾子 72 |
7.5 フィールドの隠蔽 74 |
第8章 インターフェース,パッケージ,例外処理 76 |
8.1 インターフェース 76 |
8.2 パッケージ 80 |
8.3 クラスファイルの保存場所 81 |
8.4 パッケージの作成 82 |
8.5 アクセス修飾子 83 |
8.6 例外処理 83 |
第9章 マルチスレッドと並列処理 87 |
9.1 スレッド 87 |
9.2 sleepなどのクラスメソッド 90 |
9.3 joinによる同期 91 |
9.4 suspend,resume,stop 91 |
9.5 synchronized 92 |
9.6 waitとnotify 95 |
第10章 GUIクラス 98 |
10.1 GUIクラス 98 |
10.1.1 GUIクラスの役割 98 |
10.1.2 GUIクラスの種類 99 |
10.1.3 コンポーネントの種類 100 |
10.2 Swingコンポーネントを使う基本手順 102 |
10.3 レイアウト方式 105 |
10.3.1 概要 105 |
10.3.2 レイアウトマネージャとコンポーネントの大きさ 106 |
10.3.3 レイアウト方式の種類 107 |
10.4 アイコンイメージの表示 114 |
10.5 Swingコンポーネント 115 |
10.5.1 ラベル 115 |
10.5.2 ボタン 117 |
10.5.3 JPanel 119 |
10.5.4 JFrame 121 |
10.6 コンポーネントの色とフォント設定 123 |
10.6.1 色の設定 123 |
10.6.2 フォントの指定 123 |
第11章 グラフィックス 125 |
11.1 描画の概要 125 |
11.2 カスタムグラフィックス 126 |
11.2.1 paintComponentメソッド 126 |
11.2.2 座標 127 |
11.2.3 repaintメソッド 128 |
11.3 基本図形の描画 128 |
11.3.1 Graphicsクラスの図形描画メソッド 128 |
11.3.2 Graphicsクラスの色とフォントの設定メソッド 130 |
11.3.3 Graphicsクラスの描画域に関するメソッド 132 |
11.4 イメージの描画 133 |
11.4.1 イメージ描画の概要 133 |
11.4.2 Imageクラス 134 |
11.4.3 Graphicsクラスのイメージ描画メソッド 135 |
11.4.4 イメージのロードの確認 MediaTracker 135 |
11.5 コンポーネントの位置/大きさの指定 138 |
11.6 基本図形によるフラクタルグラフィックス 139 |
11.6.1 フラクタルとは 139 |
11.6.2 木のフラクタル 140 |
11.7 アニメーション 145 |
第12章 イベント処理 149 |
12.1 イベント処理の仕組み 149 |
12.1.1 概要 149 |
12.1.2 イベントリスナークラスの定義 150 |
12.1.3 イベントソースへのリスナーの登録 151 |
12.2 イベント処理の具体例 152 |
12.2.1 ボタン上でのアクションイベント 152 |
12.2.2 テキストフィールドでのアクションイベント 154 |
12.2.3 マウスイベント 158 |
12.2.4 イベントの情報を知るメソッド 161 |
12.3 リスナークラスの定義 161 |
12.3.1 独立したリスナークラス 161 |
12.3.2 メンバとしての内部クラス 163 |
12.3.3 アダプター 164 |
12.3.4 ウィンドウイベント 165 |
12.4 キーボードに関する処理 166 |
12.4.1 キーボードフォーカス 166 |
12.4.2 キーボード入力に対するアクション 167 |
12.5 Timerによるアニメーション 169 |
12.5.1 Timerクラス 169 |
12.5.2 Timerクラスを使ったアニメーション 170 |
12.5.3 アイコン化時のアニメーションの停止と再開 171 |
第13章 アプレット 173 |
13.1 アプレットの作成と実行 173 |
13.1.1 アプレットの作成のためのコンポーネント 173 |
13.1.2 アプレット実行の仕組みとメソッド 173 |
13.1.3 アプレットの具体例 175 |
13.1.4 アプレットの実行 176 |
13.1.5 アプレットの制限 176 |
13.2 アプレット上でのイメージ表示 177 |
13.3 音声の再生 178 |
13.3.1 AudioClipインターフェース 178 |
13.3.2 音声を再生するアプレット例 178 |
13.4 HTMLタグとプラグイン 180 |
13.4.1 APPLETタグの属性 180 |
13.4.2 PARAMタグ 181 |
13.4.3 プラグイン 182 |
13.5 ブラウザとのコミュニケーション 185 |
第14章 データ入出力 189 |
14.1 データ入出力用クラス 189 |
14.1.1 ioパッケージの概要 189 |
14.1.2 ストリームクラス 189 |
14.2 ストリームクラスの仕組み 191 |
14.2.1 データ入出力の基本 191 |
14.2.2 ストリームオブジェクトの機能拡張 193 |
14.3 文字ストリームの使用例 194 |
14.3.1 ファイルをコピーする 194 |
14.3.2 ファイルの終りまで1行ずつ読む 195 |
14.3.3 キーボードから文字データを読む 195 |
14.3.4 ファイルから読むデータの行番号を知る 196 |
第15章 ネットワークインターフェース 202 |
15.1 TCPを使ったサーバクライアントプログラム 202 |
15.1.1 サーバとクライアント 202 |
15.1.2 ポート 202 |
15.1.3 ソケット 203 |
15.2 クライアントプログラム 203 |
15.2.1 クライアントプログラムの処理 203 |
15.2.2 ソケットのオープン 205 |
15.2.3 ソケットの入出力ストリームのオープン 205 |
15.3 サーバプログラム 206 |
15.3.1 カウンセラーサーバの概要 206 |
15.3.2 サーバソケットのオープン 208 |
15.3.3 接続要求のアクセプト 209 |
15.3.4 ソケットの入出力ストリームのオープン 209 |
15.3.5 サーバの応答 209 |
15.3.6 ストリームとソケットのクローズ 210 |
15.3.7 カウンセラークライアント 210 |
15.4 マルチクライアント 212 |
索引 217 |
第1章 はじめに 1 |
1.1 インターネット環境でのプログラミングとJava 1 |
1.2 仮想マシンとバイトコード 2 |