目次
はじめに
1章 JavaBeans概要
1.1 コンポーネントモデル
1.1.1 コンポーネントのディスカバリと登録
1.1.2 イベントの発生とハンドリング
1.1.3 パーシステンス(保存/復元機能)
1.1.4 コンポーネントのGUI
1.1.5 ビジュアルプログラミング
1.2 JavaBeansアーキテクチャ
1.2.1 コンパクトで簡単
1.2.2 ポータブル
1.2.3 Javaプラットフォームの力を増幅する
1.2.4 柔軟な設計時(build time)コンポーネントエディタ
1.3 JavaBeansの概要
1.3.1 プロパティ、メソッド、イベント
1.3.2 イントロスペクション
1.3.3 カスタマイズ
1.3.4 パーシステンス
1.3.5 設計時(Design-Time)と実行時(Run-Time)
1.3.6 実行時にGUIを持つBeanと持たないBean
1.3.7 マルチスレッド
1.3.7 セキュリティ
1.4 デザインパターンを使う
1.5 JavaBeans vs. ActiveX
1.6 さあ始めよう
2章 イベント
2.1 Javaのイベントモデル
2.1.1 イベントオブジェクト
2.1.2 イベントリスナ
2.1.3 イベントソース
2.1.4 複数引数のイベントリスナメソッド
2.1.5 ユニキャストイベント配送
2.1.6 例外処理
2.1.7 同期イベント配送
2.1.8 複数のスレッド
2.2 AWTパッケージで定義されているイベント
3章 イベントアダプタ
3.1 イベント受け取りの非多重化
3.1.1 アダブタクラス
3.1.2 インナークラスを使う
3.2 汎用アダプタ
3.2.1 Javaのリフレクションを使う
3.2.2 1つのアダプタオブジェクトで問題を解決する
3.3 JavaのAWTパッケージのイベントアダプタ
3.3.1 汎用ボタンアダプタ
3.4 イベントのフィルタリング
3.5 イベントのキューイング
4章 プロパティ
4.1 プロパティにアクセスする
4.2 添え字付きプロパティ
4.3 バウンドプロパティ
4.3.1 プロパティを特定しないバインド
4.4 コンストレイドプロパティ(制約付きプロパティ)
4.4.1 不特定のプロパティのイベントのハンドリング
4.5 特定のプロパティのイベントのハンドリング
4.6 java.awtパッケージの例題
5章 バーシステンス
5.1 オブジェクトシリアライゼーション
5.2 java.io.Serializableインタフェース
5.2.1 staticフィールド
5.2.2 transientフィールド
5.2.3 シリアライゼーションの実装
5.3 各クラス特有のシリアライゼーション
5.4 クラス階層をたどる
5.5 イベントリスナの保存/復元
5.6 保存されたオブジェクトのバージョン管理
5.6.1 ストリームユニーク識別子
5.7 オブジェクトの妥当性検証
5.8 java.io.Externalizableインタフェース
5.9 シリアライズされたオブジェクトからのインスタンス生成
6章 JARファイル
6.1 jarプログラム
6.2 マニフェスト
6.2.1 マニフェストファイルの記述
6.3 HTMLでJARファイルを使う
6.3.1 ARCHIVESタグ
6.4 CLASSPATHにJARファイルを使う
6.5 アーカイブのデジタル署名
6.6 jarコマンドの代わりに使えるJARファイル編集ツール
7章 BeanBox
7.1 BeanBoxを実行する
7.2 BeanBoxにBeanを生成する
7.3 Beanのプロパティの編集
7.4 Beanをイベントでつなぎ合わせる
7.5 BeanBoxのフォームの保存と復元
7.6 自作したBeanをBeanBoxに追加する
7.6.1 BeanBoxで自作のBeanを使う
8章 1つに統合する
8.1 室温制御シミュレータの仕様を定義する
8.1.1 Temperatureオブジェクト
8.1.2 Thermostatオブジェクト
8.1.3 加熱装置と冷却装置
8.1.4 このシステムで重要な役割を果たすイベント
8.2 シミュレータの作成
8.2.1 温度パルスイベント
8.2.2 サービス要求イベント
8.2.3 プロパティ変更イベント
8.2.4 Temperature(室温オブジェクト)
8.2.5 加熱装置(ボイラー)と冷却装置(クーラー)
8.2.6 Thermostat
8.3 サンプルのシミュレータアプレット
8.4 JARファイルに詰め込む
8.5 BeanBox上でシミュレータのBeanを組み立てる
9章 イントロスペクション
9.1 BeanInfoインタフェース
9.1.1 フィーチャディスクリプタ(フィーチャ記述オブジェクト)
9.1.2 Beanディスクリプタ(Bean記述オブジェクト)
9.1.3 アイコン
9.1.4 プロパティディスクリプタ
9.1.5 デフォルトプロパティ
9.1.6 添え字付きプロパティディスクリプタ
9.1.7 メソッドディスクリプタ
9.1.8 イベントセットディスクリプタ
9.1.9 デフォルトイベントセット
9.2 追加的なBeanInfoオブジェクトを提供する
9.2.1 イントロスペクタ
9.3 Beanと環境とのやりとり
9.3.1 設計時 vs. 実行時(Design-time vs. Run-time)
9.3.2 GUIのない環境でのBeanの実行
9.3.3 Visibilityインタフェース
9.4 BeansBook.SimulatorのBeanInfoクラス
9.4.1 BeansBook.Simulator.TemperatureBeanInfoクラス
9.4.2 BeansBook.Simulator.ThermostatBeanInfoクラス
9.4.3 BeansBook.Simulator.BoilerBeanInfoクラス
9.4.4 BeansBook.Simulator.CoolerBeanInfoクラス
10章 プロパティエディタとカスタマイザ
10.1 プロパティエディタ
10.1.1 PropertyEditorインタフェースの実装
10.1.2 適切なプロパティエディタの取得
10.1.3 適切なプロパティエディタ探索方式を選択する
10.1.4 ソースコードの自動生成のサポート
10.2 カスタマイザ
付録A デザインパターン一覧
A.1 イベントオブジェクト
A.2 イベントリスナ
A.3 イベントリスナの登録
A.4 ユニキャストイベントリスナの登録
A.5 複数引数のイベント通知メソッド
A.6 プロパティアクセスメソッド
A.7 添え字付きプロパティアクセスメソッド
A.8 コンストレインドプロパティアクセスメソッド
A.9 バウンドプロパティとコンストレインドプロパティのイベントリスナ登録
A.10 BeanInfoクラスの名前
付録B java.beansパッケージ
B.1 java.beans.BeanDescriptorクラス
B.2 java.beans.BeanInfoインタフェース
B.3 java.beans.Beansクラス
B.4 java.beans.Customizerインタフェース
B.5 java.beans.EventSetDescriptorクラス
B.6 java.beans.FeatureDescriptorクラス
B.7 java.beans.IndexedPropertyDescriptorクラス
B.8 java.beans.IntrospectionExceptionクラス
B.9 java.beans.Introspectorクラス
B.10 java.beans.MethodDescriptorクラス
B.11 java.beans.ParameterDescriptorクラス
B.12 java.beans.PropertyChangeEventクラス
B.13 java.beans.PropertyChangeListenerクラス
B.14 java.beans.Property ChangeSupportクラス
B.15 java.beans.PropertyDescriptorクラス
B.16 java.beans.PropertyEditorインタフェース
B.17 java.beans.PropertyEditorManagerクラス
B.18 java.beans.PropertyEditorsupportクラス
B.19 java.beans.PropertyVetoExceptionクラス
B.20 java.beans.SimpleBeanInfoクラス
B.21 java.beans.VetoableChangeListenerインタフェース
B.22 java.beans.VetoableChangeSupportクラス
B.23 java.beans.Visibilityインタフェース
付録C JavaBeans追加情報ダイジェスト(訳者追補)
C.1 仕様についての追加情報
C.1.1 JavaBeans API Specification1.01
C.1.2 Glasgow(JDK1.2)におけるBeansの拡張
C.2 Beans関連リソース
索引
|