UIの作成を開始する前に、UI設計を書き留めて各種のパネルとコンポーネントの配置とレイアウトの割当てに関する全般的な方針をまとめておくと便利です。UIのプロトタイプはJavaビジュアル・エディタで直接作成することもできます。JDeveloperにはnull
というレイアウトが用意されているため、この作業は容易になります。このレイアウトでは、コンポーネントは元の配置場所および作成時のサイズから変化しません。
プロトタイプ作成におけるnullレイアウトの使用
このアプローチを単純化するために、JDeveloperにはnull
レイアウトが用意されています。「新規アプリケーション」ダイアログを使用してプロジェクトを開始すると、JDeveloperによりnull
を使用するUIコンテナ・クラス(通常はFrame
またはJFrame
の拡張クラス)が生成されます。Javaビジュアル・エディタでフレームを開き、フレーム上で設計作業を直接行うことができます。
最初にJavaビジュアル・エディタにいずれかのタイプの新規パネルを追加すると、インスペクタではlayout
プロパティが<default layout>
となっていることがわかります。これは、Javaビジュアル・エディタではそのコンテナに自動的にデフォルトのレイアウトが使用されることを意味します。ただし、layout
プロパティは使用するレイアウト・マネージャに変更できます。これにより、プロパティが「構造」ウィンドウで参照可能になり、そのコンポーネントの制約をプロパティ・インスペクタで変更できるようになります。<default layout>
のレイアウト・プロパティは編集できません。
大きいリージョンから順番に設計
まずUIのうち大きいリージョンを設計した後、null
を使用して各リージョン内の詳細を操作していきます。設計が適切であれば、内側のリージョンから外側へと系統的に作業を進め、パネルをより移植性の高いレイアウト(FlowLayout
、BorderLayout
またはGridLayout
など)に変換し、必要に応じて軽微な調整を行います。
ほとんどの場合、まずコンテナを設計に含めた後、そこにコンポーネントを追加します。既存のコンポーネントを囲む新規コンテナを描画することもできます。ただし、この種のコンポーネントが新規パネル内で自動的にネストされることはありません。コンテナを描画した後、各コンポーネントをコンテナ内で移動する必要があります。また、コンテナの外へとコンポーネントを移動してから戻す操作が必要になることもあります。「構造」ウィンドウで、各コンポーネントが正しくネストしていることを確認してください。コンテナ内の各コンポーネントは、ツリーでコンテナの下にインデント表示されている必要があります。
テストの前に保存
JDeveloperで設計する場合、特にレイアウトを変更する際には試行錯誤を繰り返すことになります。レイアウトを変更してテストする前に、作業内容を保存してください。
使用しようとした特定のレイアウトが予想どおり機能しないことが判明する場合があります。設計プロセスを見直し、コンテナ、コンポーネントおよびレイアウトの異なる構成を使用する必要が出てくることもあります。このため、重要なポイントでコンテナ・ファイル(Frame1.java
など)に別の名前を付けて安全な場所にコピーしておきます。これにより、作業のバックアップが必要になった場合にも、最初からやり直す必要がなくなります。
JavaBeansの使用
今後のUI設計作業の所要時間を短縮するために、コンポーネント・パレットに追加してそのまま(または軽微な変更のみで)再利用できるJavaBeanコンポーネント(ツールバー、ステータス・バー、チェック・ボックス・グループまたはダイアログ・ボックスなど)を作成します。
Copyright © 1997, 2006, Oracle. All rights reserved.