レイアウト・プロパティによるUIのプロトタイプ作成

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を使用して各リージョン内の詳細を操作していきます。設計が適切であれば、内側のリージョンから外側へと系統的に作業を進め、パネルをより移植性の高いレイアウト(FlowLayoutBorderLayoutまたはGridLayoutなど)に変換し、必要に応じて軽微な調整を行います。

ほとんどの場合、まずコンテナを設計に含めた後、そこにコンポーネントを追加します。既存のコンポーネントを囲む新規コンテナを描画することもできます。ただし、この種のコンポーネントが新規パネル内で自動的にネストされることはありません。コンテナを描画した後、各コンポーネントをコンテナ内で移動する必要があります。また、コンテナの外へとコンポーネントを移動してから戻す操作が必要になることもあります。「構造」ウィンドウで、各コンポーネントが正しくネストしていることを確認してください。コンテナ内の各コンポーネントは、ツリーでコンテナの下にインデント表示されている必要があります。

テストの前に保存

JDeveloperで設計する場合、特にレイアウトを変更する際には試行錯誤を繰り返すことになります。レイアウトを変更してテストする前に、作業内容を保存してください。

使用しようとした特定のレイアウトが予想どおり機能しないことが判明する場合があります。設計プロセスを見直し、コンテナ、コンポーネントおよびレイアウトの異なる構成を使用する必要が出てくることもあります。このため、重要なポイントでコンテナ・ファイル(Frame1.javaなど)に別の名前を付けて安全な場所にコピーしておきます。これにより、作業のバックアップが必要になった場合にも、最初からやり直す必要がなくなります。

JavaBeansの使用

今後のUI設計作業の所要時間を短縮するために、コンポーネント・パレットに追加してそのまま(または軽微な変更のみで)再利用できるJavaBeanコンポーネント(ツールバー、ステータス・バー、チェック・ボックス・グループまたはダイアログ・ボックスなど)を作成します。


レイアウト制約について
JavaBeansの開発