JDK 1.1 の AWT の拡張

JDK の新しいバージョン 1.1 は、1996年の末にリリースが予定されています。 AWT に関しても多くの機能が拡張されることが予告されています。


コピー&ペーストとドロップ&ドラッグ
 JDK1.0 ではアプリケーション間のデータの転送に関しては 特別な機能は提供していません。 いわゆるコピー&ペーストの機能は部分的には利用可能ですが、 そららはシステムの実装に依存したものです。 JDK1.1 はシステムに依存しないデータ転送の機能を Clipboardというクラスを通じて実現します。
 ドロップ&ドラッグの操作に対する対応も JDK1.1 で行われる予定です。 ただしこちらは最初のリリースには間に合わないようです。 将来的にはドロップ&ドラッグの操作でファイルのコピーや 印刷ジョブの開始なども実現できるはずです。

新しいイベントモデルの採用
 イベント及びコンポーネント間のイベントの伝搬を扱うモデルが 新しいものになります。 JDK1.0 ではイベントを表すクラスは Event ただ一つでしたが、 JDK1.1 では EventObject というメタクラスから派生する AwtEvent、 さらにそのサブクラスの ComponentEvent というように階層化されたクラス群に よって取り扱われることになります。
 また JDK1.0 では、ウィンドウの階層構造をたどって イベントを伝搬するモデルが採用されていました。 そして、コンポーネント(Component のサブクラス)はイベントの検出を 行うと同時に、そのイベントに対応する処理を実行します。 この2つの性格が分離されていない点は、 大規模なプログラムを構築する際の弱点の1つになっていました。 JDK1.1 では、EventSource と EventListener という概念を導入することによって オブジェクト間のイベントの伝搬をコントロールします。 イベントの検出と処理の実行は完全に分離され、 その結果より明快で柔軟な処理が可能になります。

ポップアップ・メニューの実現
 JDK1.0 ではメニューはすべてプルダウン・メニューの形式でした。 JDK1.1 では新しいクラス PopupMenu が追加され、 ポップアップ・メニューも利用できるようになります。

スクロール可能な Container クラスの実現
 JDK1.0 には ScrollBarクラスは存在しますが、それを活用してスクロール可能な Containerオブジェクトを設計するのは、プログラマー自身の仕事でした。 JDK1.1 では新しいクラス ScrollPane が追加され、そうした労力が軽減されます。

マウスを使わない操作の標準化
 JDK1.1 ではマウスを使わない操作(いわゆるショートカット)に対して、 新しく標準的な方針を提供します。 JDK1.1の最初のリリースでは、特にキーボードフォーカスの移動と メニューのショートカットの2点が具体的に定められる予定です。

デスクトップ環境のカラー情報
 JDK1.1 では、デスクトップ環境とのインターフェイス機能が強化される予定です。 その手始めとして、デスクトップ環境のウィンドウの枠のカラーを 取得することが可能になります。 Java言語で開発されたアプリケーションと他のアプリケーションとの 統一感が高まります。

印刷処理のユーザーインターフェイスの提供
 JDK1.1 では、印刷処理を対話的に行う標準的な機能を提供します。 PrintJob という新しいクラスも提供され、 Java言語による印刷処理の管理が可能となります。