アプリケーションのインターフェイスの設計
一番基本的なアプリケーションのサンプルを紹介し、
インターフェイスの設計について解説します。
典型的なアプリケーションを見てみましょう。たとえば、下図のような
表示になるものです。

典型的なアプリケーションの外観
どんなオブジェクトが、どのようにレイアウトされているか考えてみましょう。
- トップレベルのウィンドウとして Frameのオブジェクト
- グラフィックスを表示するために Canvasのオブジェクト
- ユーザーインターフェイスを担当する Buttonや TextFieldのオブジェクト
- それらをレイアウトするための Panelのオブジェクト
- ポップアップするメニューのための Windowのオブジェクト
これらを実現するには、たとえば下記のようにオブジェクトを生成する
プログラムを作ることになるでしょう。
import java.awt.*;
public class Application {
public static void main( String argv[] ) {
Frame frame = new Frame( "Window Application" );
Canvas canvas = new Canvas();
Panel panel = new Panel();
Button button = new Button( "Push" );
TextField textField = new TextField( 32 );
Window window = new Window( frame );
canvas.setBackground( Color.white );
canvas.setSize( 300, 200 );
window.setSize( 50, 100 );
panel.add( button );
panel.add( textField );
frame.add( canvas, "Center" );
frame.add( panel, "South" );
frame.pack();
frame.show();
window.show();
}
}
Frame と Windowについてポイントとなる点をまとめておきます。
- Frameのオブジェクトについて
- Frameはコンストラクタに Stringのオブジェクトを与えることができます。
これは、タイトルバーに表示されるタイトルの文字列となります。
- Frameはデフォルトのレイアウトが BorderLayoutです。
これは、上の図のように Frame自体には多数のコンポーネントが配置されるわけでは
なく、多くても4、5個のパネルやキャンバスが置かれる場合が多いからです。
BorderLayoutは add()メソッドに位置を指定する Stringオブジェクトが必須です。
それらの値は "North", "South", "East", "West", "Center"のいずれかです。
- Frameは生成された時点では画面に表示されません。
show()の命令を明示的に呼び出して表示させる必要があります。
- Windowのオブジェクトについて
- Windowはコンストラクタに Frameのオブジェクトが必須です。
Windowのオブジェクトは、その Frameの管理下に置かれます。
ここでは何も行っていませんが、Windowの位置などはアプリケーションの要請に
従い、そのトップレベルウィンドウである Frameによって管理されるわけです。
- Windowは生成された時点では画面に表示されません。
show()の命令を明示的に呼び出して表示させる必要があります。
ここではいきなり表示していますが、実際にはメニューのウィンドウなどは
表示が必要になった時点で show()されることになります。