JFC/Swing

last modified: Jun./28th/2002

本節からは GUI の基本について紹介します。勉強すべき項目は次の5つです。

Swing とはなにか

Swing は、 GUI (Graphical User Interface) 用のコンポーネントです。パッケージ名は javax.swing であり、サブパッケージを含めると16個のパッケージから成ります。話が逆になりますが、 Swing は元々 JFC (Java Foundation Classes) の一部として提供されており、 JDK 1.2 (Java2) 以降で標準クラスパッケージに統合されました。本稿で前提している J2SE 1.3 以降ではインストールの必要はありません。標準で利用できます。

もともと AWT (Abstract Java Toolkit) で提供されていた GUI 機能を強化したものが Swing であり、継承として実装されているので、現在では JFC に Swing が含まれ、 Swing に AWT が含まれると考えられています。クラス階層としては AWT コンポーネントは必須であり、 Swing アプリケーションでは swing パッケージ以外に awt パッケージもインポートする必要があります。

AWT では ウィンドウの外枠を始めとして、ボタン、スクロールバーなどの GUI 部品は、実行環境のウィンドウシステムのコードを利用していたため、各環境間での互換性に問題があり、部品の多いアプリケーションはマシンリソースを浪費し重たくなります。このようなコンポーネントを "heavyweight" と呼びます。Swing は基本的には Java だけで書かれているので、互換性が向上し、マシンリソースも少なくて済みます。このようなコンポーネントを "lightweight" と呼びます。

Sun Microsystems では Swing は AWT を置き換えたわけではなく、選択は好みの問題だとしていますが、多くの IDE (Integrated Development Environment) 環境が Swing を採用しています。

Visual 開発環境

通常のプログラミングは、テキストエディタでソースコードを作成し、コマンドラインでコンパイル、実行します。しかし、ユーザインタフェースは GUI へ移行しており、プログラミングもその例外ではありません。 Java に関しても多くの企業がマウスを使ったヴィジュアル開発用のツールを提供しています。それらは統合開発環境 (IDE: Integrated Development Environment) と呼ばれます。

例えば、 IBM の VisualAge for Java、 Sun Microsystems の Forte、 Borland JBuilder、 WebGain の VisualCafé などであり、殆どのものは機能限定版が無料で公開されています。雑誌/書籍の付録で御覧になることも多いでしょう。

とくに、 Java アプリケーションの GUI の部分は IDE が便利です。マウスのドラッグ/ドロップでボタンやテキストエリアを作成し、イベントを拾って、ロジックに繋げます。ロジック部分はテキストエディタで作成した方が早いと思いますが、マウスで見た目を作っていく作業は、ソースコードで部品の大きさや配置を数字で指定するよりも圧倒的に簡単です。

私は VisualAge for Java, Webshere Application Developer, Forte, JBuilder を触ってみましたが、それぞれ操作方法が全く異なります。 Java 言語の基本構文に慣れたら、次に特定の IDE の操作に慣れる必要があるでしょう。

本稿ではその前の段階として、 Swing による GUI 開発の基本語彙について紹介します。



Copyright © 2002 SUGAI, Manabu. All Rights Reserved.