パーソナルツール
現在の場所: ホーム SwingとSWT チュートリアル 入門編 - JFrame と Shell -
文書操作

入門編 - JFrame と Shell -

作成者 fujisaki 最終変更日時 2008年12月01日 02時14分

ここでは,Swing と SWT の簡単な使用方法として,GUI の基本となるフレームを作成する方法を説明します. Swing では JFrame クラス,SWT では Shell クラスを使ってフレームを作成します.

JFrame

Swing ではフレームを作成するために JFrame クラスを使用します.まずは,下のサンプルプログラムを見てください.

SampleJFrame.java

JFrame は javax.swingパッケージにあります. JFrame クラスの主なメソッドを説明します.

  • setDefaultCloseOperation(int operation)
      フレームの閉じるボタンが押されたときのデフォルトの処理を設定します.operation には次の JFrame クラスのフィールドが入ります.
      • DE_NOTHING_ON_CLOSE : 何も行わない.
      • HIDE_ON_CLOSE : 自動的にフレームを隠す.
      • DISPOSE_ON_CLOSE : 自動的にフレームを隠し,破棄する.
      • EXIT_ON_CLOSE : System の exit メソッドを使用してアプリケーションを終了する.
  • setSize(int width, int height)
      フレームのサイズを幅 width 高さ height ピクセルに設定します.
  • setTitle(String title)
      フレームのタイトルを title に設定します.
  • setVisible(boolean b)
      bが true だったらフレームを表示,false だったら非表示にします.
  • add(Component comp)
    • フレームにコンポーネント comp を追加します.


    サンプルプログラムを実行すると次のようなフレームが表示されます.

    SampleJFrame



    Shell

    SWTでは,フレームを作成するために Shell クラスを使用します.下のサンプルプログラムを見てください.

    SampleShell.java

    Shell クラスと Display クラスは,org.eclipse.swt.widgets パッケージ内にあります. Shell クラスの主なコンストラクタは次の3つです.

    • Shell(Display display, int style)
        dislay 上に style で指定した振る舞いと外観をもつ shell を生成します.display は,OS のウィンドウ・システムと SWT との橋渡しを行います.Shell クラスのコンストラクタの引数に Display クラスのインスタンスを指定した場合,その shell はトップレベルのウィンドウとなります.style には SWT クラスで定義されたフィールドを指定することができます.style は論理和 ("|") で指定するが出来ます.
    • Shell(Display display)
        display 上に shell を生成します.このコンストラクタは,Shell(display, SWT.SHELL_TRIM) を呼びます.SHELL_TRIM は,CLOSE | TITLE | MIN | MAX | RESIZE と定義した値と同じ値になります.
    • Shell()
        shell を生成します.このコンストラクタは,Shell((Display)null) を呼びます.


    Shell クラスの主なメソッドを説明します.

    • setSize(int width, int height)
        shell のサイズを設定します.JFrame の setSize メソッドに対応します.
    • setText(String title)
        shell のタイトルを設定します.JFrame の setTitle メソッドに対応します.
    • open()
        shell を表示します.JFrame の setVisible(true) に対応します.
    • isDisposed()
        shell が破棄されたかどうかを返します.
    • getParent()
        shell のあるディスプレイを返します.
    • dispose()
        shell を破棄します.


    サンプルプログラムを実行すると,次のようなフレームが表示されます.

    SampleShell