画面制御機能 を利用した開発の流れは以下のとおりです。
画面制御機能で利用する画面を、以下のクラスの派生クラスとして作成します。
JFCEntryPanel
JFLEntryPanel
JFLEntryScrollablePanel
JFCEntryInterfacePanel
JFLEntryInterfacePanel
JFLEntryInterfaceScrollablePanel
JFCMultiPagePanel
JFLMultiPagePanel
JFLMultiPageScrollablePanel
画面の作成には、GUIビルダ機能を持ったJava統合開発環境を利用すると効率的な開発が可能になります。
画面制御機能の中心となる画面制御パネルを、以下のクラスの派生クラスとして作成します。
JFCCardPanel
JFLCardPanel
JFCTabbedPanel
2で作成した画面制御パネルに、1で作成した画面を登録します。
JFCCardPanelに画面を登録するためには、createPanelsメソッドを再定義して、そこで画面登録用のaddPanelメソッドを利用します。addPanelで指定する画面の名前は各画面ごとに固有の名前を指定し、名前が重複しないようにします。
たとえば1で作成したJFCEntryPanelの派生クラスをPanel1とすると以下のように行います。なお、JFCTabbedPanelに画面を登録する場合も、JFCCardPanelと同様のメソッドを利用します。
protected void createPanels() { this.addPanel(......); this.addPanel(......); this.addPanel("業務画面1","Panel1",JFCPanelLoader.DELAYED_CREATION,JFCPanelLoader.TEMPORARY_INSTANCE); //addPanelの引数では、 // 1番目が画面の名前(画面遷移時の遷移先指定に利用するための一意な名前)、 // 2番目が作成したパネルのクラス名、 // 3番目が画面オブジェクトの生成タイミング // 上記では画面が表示されるときに画面オブジェクトを生成します。 // 指定可能な生成タイミングは以下の“生成タイミング一覧”を参照 // 4番目が画面オブジェクトの破棄タイミング // 上記では画面が非表示になるときに画面オブジェクトを破棄します。 // 指定可能な破棄タイミングは以下の“破棄タイミング一覧”を参照 .... } |
タイミング名 | 指定するクラス変数名 | 説明 |
---|---|---|
初期化時生成 | JFCObjectLoader.INIT_CREATION | 画面を登録した直後に生成します。 |
表示時生成 | JFCObjectLoader.DELAYED_CREATION | 画面遷移によって画面を表示するときに生成します。 |
バックグラウンド生成 | JFCObjectLoader.BACKGROUND_CREATION | 画面を登録してもすぐに生成せず、プログラムとは別のスレッドで逐次生成します。 |
タイミング名 | 指定するクラス変数名 | 説明 |
---|---|---|
非表示時破棄 | JFCObjectLoader.TEMPORARY_INSTANCE | 画面遷移によって画面が非表示になったときに破棄します。 |
バッファ保持 | JFCObjectLoader.BUFFERED_INSTANCE | 画面遷移によって画面が非表示になったときに、画面バッファで保持します。 setReleaseBufferSize(int) getReleaseBufferSize() |
常に保持 | JFCObjectLoader.PERMANENT_INSTANCE | 画面を削除するまで破棄せず、常に保持します。 |
2~3で作成した画面制御パネルの派生クラスをアプリケーションあるいはアプレットに貼りつけます。
なお、3の画面登録処理において、画面制御パネルの派生クラスのcreatePanelsで、外部ファイルを解析して画面登録を行う処理を定義することもできます。この場合、外部ファイルを変更するだけで自動的に、登録する画面を変更することが可能になるため、1の画面作成のみに専念するといった開発方法が可能になります。
JFCScrollablePanelのビューパネル
JFCScrollablePanelのビューパネルでは、オフスクリーンイメージを利用して画面を描画します。オフスクリーンイメージの生成に消費されるメモリ量(単位はバイト)は、以下の計算方法で算出します。
ビューパネルの幅×ビューパネルの高さ×3 |
大きなビューパネルを利用する画面を大量に扱うときにメモリ不足を引き起こす場合は、画面の破棄タイミングを使い分けて、メモリ使用量を調整してください。