magazine.gif Java GUIプログラミング Vol.I さらにパワーアップしたSwing

まえがき
付録CD-ROMの使い方

はじめに

  • 本格的でクロスプラットフォーム環境のプログラミング言語—Java
    • Javaの歴史
    • Javaアプリケーション
    • 100% Pure Java
    • Javaは多くのプラットフォームでサポートされている
    • Javaは遅いのか?
  • Swingの利点
    • JavaのGUIは低品質?
    • Swingの変遷
    • パッケージ名の変更-Swing 1.1 beta3・JDK 1.2 RCI
    • JDK 1.2(Java2)正式リリース
    • Swing 1.1
    • Swing 1.1.1 beta1
    • Java2 SE v1.4(JDK1.4) beta1
    • Java2 SE v1.4(JDK1.4) beta2
    • Java2 SE ve1.3.1_01a・Java2 SE v1.4 beta3
    • Java2 SE v1.4
  • Swingのパッケージ名の変更
  • 各プラットフォーム用のJava2 SE SDK最新版の入手先
    • Sun Microsystems社
    • IBM社
    • Apple社
  • Java統合開発環境
    • JBuilder
    • Forte for Java

第1章 ウィンドウ(JFrame)

  • 1-1 最も簡単なGUIアプリケーション
    • イベント転送スレッド
  • 1-2 ウィンドウクローズの際の動作を指定する
  • 1-3 ウィンドウクローズ時のイベント
    • WINDOWS_CLOSINGイベント
  • 1-4 ウィンドウクローズ時の終了確認ダイアログボックス
  • 1-5 JFrameのアイコン化
    • ウィンドウのアイコンを変更する setIconImage()
  • 1-6 JFrameの最大化
    • setExtendedState(int)メソッド
    • isFrameStateSupported()メソッド
  • 1-7 WindowEventとWindowListener
    • WINDOW_OPENED
    • WINDOW_CLOSED
  • 1-8 シャットダウンフック
  • 1-9 コンポーネントの位置の変更・サイズの変更・占有矩形の変更
  • 1-10 ComponentEventとCompnentListener
    • getLocation(),getSize(),getBounds()メソッド
  • 1-11 JMenuBar、ContentPane、ツールチップ
    • メニューバー(JMenuBar)
    • ContentPaneはウィンドウの表示エリア
    • ContentPaneはJPane型
    • ツールチップ
    • 自分で作ったパネルをContentPaneにする
  • 1-12 ルックアンドフィール
    • ルックアンドフィールを調べる
    • 登録済みのルックアンドフィールのセットの一覧を得る
    • ルックアンドフィールを切り替える
    • UnsupportedLockAndFeelException
  • 1-13 アプレット
    • BorderLayout
    • ContentPane
    • 従来型アプレット
    • Swingアプレット
    • Java Plug-in
  • 1-14 レイアウト
    • BorderLayout
    • FlowLayout
    • GridLayout
    • BoxLayout

第2章 ラベル・ボタン・メニュー・ツールバー

  • 2-1 Swingコンポーネントと画像(イメージ)
    • ImageIconクラス
    • 自分で描画する画像(アイコン)を登録する
  • 2-2 ラベルでのテキストとアイコンの位置
    • 水平方向の位置指定
    • テキストとアイコンとの縦横の位置を指定
  • 2-3 AbstractButtonを継承しているコンポーネント
  • 2-4 メニュー
    • 基本的なメニュー
    • メニューにアイコンを付ける
    • テキストなしのメニューにツールチップを付ける
  • 2-5 ボタンやメニュー項目におけるテキストとアイコンの位置関係
    • ボタンの位置指定
    • メニュー項目の位置指定
  • 2-6 チェック付きメニュー
  • 2-7 ポップアップメニュー
    • ポップアップメニューとマウスイベント処理
  • 2-8 ツールバー
    • 基本的なツールバー
    • メニューとツールバーとの相違点
  • 2-9 マウスカーソルの動きと連動して、表示を変化させる
    • ボタンに登録できるアイコン
    • 共通のインタフェースを実装する意味
    • JRadioButtonで、マウスカーソルの動きと連動して表示を変化させる

第3章 SwingコンポーネントでのHTMLサポート

  • 3-1 拡張されたHTMLサポート
    • HTML表示をサポートしているコンポーネント
    • サポートされているHTML表示機能
  • 3-2 テキスト装飾機能
  • 3-3 色指定
    • 文字表示色の変更
    • 背景色の設定
  • 3-4 画像指定機能
    • 背景全体に画像を貼る
  • 3-5 テーブル表示機能
    • セルのマージ
    • セル内の画像
  • 3-6 スタイル属性
    • 段落(パラグラフ)ごとのスタイル
    • スタイルの指定
    • スタイルシート
  • 3-7 メニューとボタン
    • JMenu、JMenuItem、JButton
    • JCheckBoxMenuItemとJRadioButtonMenuItem
  • 3-8 Action
    • ActionとJToolBarとJPopupMenu
  • 3-9 ツールチップ
  • 3-10 リストボックス
  • 3-11 コンボボックス
    • コンボボックスの編集フィールド
  • 3-12 ツリー
  • 3-13 タブペイン
    • setTabPlacement()
  • 3-14 テーブル(JTable)
    • TableHeader
    • JTable
  • 3-15 SwingのHTML解析部の内部テーブルに登録されている項目一覧
    • SwingのHTML解析部の内部テーブル登録されているHTMLタグ一覧
    • SwingのHTML解析部の内部テーブル登録されているHTML属性一覧
    • SwingのHTML解析部の内部テーブル登録されているHTMLスタイル一覧
    • SwingのHTML解析部の内部テーブル登録されている色名と対応するRGB値一覧

第4章 Actionクラス・Actionイベント・InputMap・キーストローク

  • 4-1 ActionListenerとAbstractAction
    • ActionListener
    • AbstractAction(Actionクラス)
  • 4-2 Actionクラスを生成し、コンポーネントにセットする
    • ボタンにmActionクラスをセットする
    • ラジオボタンにActionクラスをセットする
    • チェックボックスにActionクラスをセットする
  • 4-3 Actionクラスをコンテナに追加する
    • ツールバーにActionクラスを追加する
    • メニューにActionクラスを追加する
  • 4-4 Actionクラスと従来の方法とを比較する
    • 従来の方法
    • Actionクラスを使う方法
  • 4-5 ActionMapとInputMap
    • InputMap
    • ActionMap
    • 両者の関連づけ
    • ウィンドウ内でどのコンポーネントにフォーカスがあっても、キーストロークが有効になるようにする
  • 4-6 キーストローク
    • カーソルキー
    • モディファイヤキーとの併用
    • Java2 SE v1.4では、マウスボタンが押されたことも検出できる
    • キーを離したときのタイミング
  • 4-7 キーストローク定義文字列
  • 4-8 電卓プログラム
    • Actionクラスをボタンに設定する
    • キーストロークをActionクラスに結びつける
    • 計算ができるようにする

第5章 KeyEvent・MouseEvent・MouseWheelEvent

  • 5-1 コンポーネント内部でキーイベントを監視する
    • processKeyEvent()
    • キーイベントの有効範囲
  • 5-2 キーイベントを外部から監視する
    • KeyListener
    • 文字の入力を調べる
    • キーイベント発生場所を調べる
    • KeyAdapterにより必要なメソッドだけを定義する
  • 5-3 KeyEventから取得できる情報
    • どのモディファイヤキーが押されているかを調べる
    • keyPressed()とkeyTypedとを比較する
  • 5-4 キーコード
    • 日本語109キーボードでのキーコード・シンボル名一覧
    • モディファイヤキーと併用のときに、キーコードが変わるもの
    • テンキー
    • 非サポートキー
  • 5-5 コンポーネント内部でマウスイベントを監視する
    • マウスイベントの有効範囲
  • 5-6 マウスイベントを外部から監視する
    • MouseListener
    • マウスイベントが発生したコンポーネントを調べる
    • MouseAdapterにより、必要なメソッドだけを定義する
  • 5-7 マウスイベントの発生位置
    • マウスイベント発生位置
    • 座標変換
    • 座標値をメインウインドウ座標系で統一する
    • 画面(スクリーン)座標に変換
  • 5-8 MouseMotionイベント(マウス移動イベント)
    • MouseMotionListenerのメソッド
    • MouseInputAdapter
  • 5-9 マウスクリック回数
  • 5-10 マウスイベントとモディファイヤ
    • どのボタンがそのイベントと関係していたのかを調べる
    • 拡張モディファイヤを調べる ~Java2 SE v1.4の場合~
    • モディファイヤキーとの併用を調べる
    • 組み合わせ可能なモディファイヤ
  • 5-11 ホイールマウス対応

第6章 ダイアログボックス・ファイルダイアログ

  • 6-1 単純なメッセージボックス
    • showMessageDialog()
  • 6-2 メッセージボックス MessageDialog()
    • タイトルとアイコン
    • メッセージタイプ
    • いろいろな種類のアイコン
    • アイコンになれるもの
  • 6-3 ボタンで選択を促すメッセージボックス ConfirmDialog
    • デフォルトのConfirmDialog
    • オプションタイプ
    • アイコン
  • 6-4 選択を促すメッセージボックス OptionDialog()
    • 自由に定義したボタンを使う
  • 6-5 ユーザーからの文字列入力を受け付けるダイアログボックス InputDialog
    • 単純なInputDialog
    • 入力フィールドに初期値をセットする
    • InputDialogで、タイトルやアイコンを指定する
  • 6-6 コンボボックスを持つダイアログボックス〜オプション付きのInputDialog
  • 6-7 JOptionPaneの中にコンポーネントを置く
  • 6-8 内部(Internal)メッセージボックス
  • 6-9 ファイル選択はJFileChooser
    • JFileChooserの初期設定
    • FileSystemView
    • JFileChooserの表示モード
    • JFileChooserの表示メソッドの戻り値
    • JFileChooserで選択されたファイルを調べる
  • 6-10 指定された種類のファイルだけを表示するFileFilter
    • FileFilterクラスを作る
    • 表示対象ファイルを決定するaccept()メソッド
    • ファイルタイプの説明 getDescription()

第7章 リストボックス(JList)

  • 7-1 リストボックスの基本
    • JListの最も基本的な例
    • JList内の項目の配置方法(Java2 SE v1.4からの新機能)
    • 配置方法の指定
    • 表示行数の指定
    • スクロールバーをつける
  • 7-2 JListの選択モード
    • 複数選択モード
    • 前もって選択状態にする
  • 7-3 JListで選択された項目を調べる
    • JListで選択された項目を調べる~単独選択の場合(1)
    • JListで選択された項目を調べる~単独選択の場合(2)
    • JListで選択された項目を調べる~複数選択の場合
  • 7-4 JList内での項目の検索とスクロール
    • 項目の検索
    • プログラム内部からスクロールを実行
  • 7-5 JListとマウスイベント
    • ピクセル座標とインデックス番号との相互交換
    • 複数選択とマウスイベント
  • 7-6 ListModelを使って選択リストを操作する
    • DefaultListModel
  • 7-7 変更・追加・削除ができるようにする
  • 7-8 独自の項目表示処理を定義するListCellRenderer
    • ListCellRendererクラス
    • 各項目ごとに、ツールチップを設定
  • 7-9 独自の項目選択ルールを定義するListSelectionModel
    • 単純なListSelectionModel
    • ListSelectionModelクラス
    • 選択確定を考慮する

さくいん