ページの先頭行へ戻る
Interstage Studio J Business Kit GUIライブラリ ユーザーズガイド
FUJITSU Software

4.2.1 開発の流れ

ウィンドウ制御機能を利用した開発は、まず、各ウィンドウをJFCFrameまたはJFCDialogの派生クラスで定義し、次にJFCWindowLoaderManagerの派生クラスに登録するという手順を踏みます。

ウィンドウ制御機能を利用した開発の流れは以下のとおりです。

  1. ウィンドウ制御機能で利用するウィンドウを、以下のクラスの派生クラスとして作成します。

    • JFCFrame

    • JFCDialog

    ウィンドウの作成には、GUIビルダ機能を持ったJava統合開発環境を利用すると効率的な開発が可能になります。

  2. JFCWindowLoaderManagerの派生クラスを作成し、各ウィンドウを登録します。

    createWindowsメソッドを再定義し、各ウィンドウを登録します。addFrameメソッドを利用して、フレームを登録し、addDialogメソッドを利用して、ダイアログを登録します。addFrameまたはaddDialogで指定するウィンドウ名は各ウィンドウごとに固有の名前を指定し、名前の重複がないようにします。

    例えば、1.で作成したJFCFrameの派生クラスをFrame1として、JFCDialogの派生クラスをDialog1として、以下のように行います。

    protected void createWindows() {
        this.addFrame("業務フレーム1","Frame1",JFCObjectLoader.DELAYED_CREATION,JFCObjectLoader.TEMPORARY_INSTANCE);
        this.addDialog("業務ダイアログ1","Dialog1",true);
        //addFrameの引数では
        //1番目がフレーム名(ウィンドウ遷移時の遷移先指定に利用するための一意な名前)、
        //2番目が作成したフレームのクラス名、
        //3番目がフレームオブジェクトの生成タイミング
        //  上記ではフレームが表示されるときにウィンドウオブジェクトを生成します。
        //  指定可能な生成タイミングは以下の[生成タイミング一覧]を参照
        //4番目がフレームオブジェクトの破棄タイミング
        //  上記ではフレームが非表示になるときにウィンドウオブジェクトを破棄します。
        //  指定可能な破棄タイミングは以下の[破棄タイミング一覧]を参照
        //addDialogの引数では
        //1番目がダイアログ名(ウィンドウ遷移時の遷移先指定に利用するため一意な名前)、
        //2番目が作成したダイアログのクラス名、
        //3番目がモーダルのフラグ
        //  上記ではモーダルダイアログを生成します。
        this.addFrame(......);
        this.addDialog(......);
        ....
    }
    
    表4.10 生成タイミング一覧

    タイミング名

    指定するクラス変数名

    説明

    初期化時

    JFCObjectLoader.INIT_CREATION

    addFrameメソッドが実行された時点でウィンドウオブジェクトを生成します。
    通常、addFrameはcreateWindowsで実行され、createWindowsはアプリケーション、アプレットの起動時に行われるため、タイミングとしてはアプリケーション、アプレットの起動時となります。

    表示時

    JFCObjectLoader.DELAYED_CREATION

    ウィンドウが初めて表示される時点でウィンドウオブジェクトを生成します。
    大量ウィンドウを持つアプリケーション、アプレットでは通常はこの生成タイミングを推奨します。

    バックグラウンド

    JFCObjectLoader.BACKGROUND_CREATION

    addFrameメソッドが実行された時、アプリケーション、アプレットとは別スレッドでウィンドウオブジェクトを生成します。
    起動性能重視であり、頻繁に利用し、かつ、サイズが大きいウィンドウの遷移速度を向上させたい場合に指定します。

    表4.11 破棄タイミング一覧

    タイミング名

    指定するクラス変数名

    説明

    非表示時に破棄

    JFCObjectLoader.TEMPORARY_INSTANCE

    ウィンドウが非表示になった時点でウィンドウオブジェクトをメモリから破棄します。
    メモリ資源を節約したいアプリケーション、アプレットで利用します。

    バッファで保持

    JFCObjectLoader.BUFFERED_INSTANCE

    バッファでオブジェクトを保持します。バッファがいっぱいになった場合は、一番最初に保持したオブジェクトから順にメモリから破棄します。
    一時保存されるオブジェクト数はJFCObjectLoaderManagerのsetReleaseBufferSizeメソッドで設定します。デフォルトは10です。

    常に保持

    JFCObjectLoader.PERMANENT_INSTANCE

    各ウィンドウを管理するJFCWindowLoaderManagerの派生クラスが破棄されるまでウィンドウオブジェクトをメモリ上に保持します。
    通常はアプリケーション、アプレットの終了時と等しくなります。

  3. ウィンドウ登録後、JFCWindowLoaderManagerのshowWindowメソッドを使用して、ウィンドウを表示します。

注意

ウィンドウ制御機能を利用するアプレットについて

ウィンドウ制御機能を利用するアプリケーションあるいはアプレットは、JFCObjectLoaderのsetURLsまたはaddURLメソッドを利用して、他の位置に保存しているウィンドウクラスをロードすることが可能です。アプレットで利用する場合、そのアプレットをダウンロードしてきたサーバ以外のホストとの通信ができないため、URLに設定できるのはアプレットがあるサーバのみとなります。アプリケーションでは、この制限はありません。