GUI ビルダーによる Java GUI のデザイン
関連項目
IDE の GUI ビルダーを使用し、GUI (グラフィカルユーザーインタフェース) を視覚的にデザインできます。GUI を作成または編集すると、そのインタフェースを実装する Java コードが自動的に生成されます。GUI フォームは、「プロジェクト」、「ファイル」、「お気に入り」の各ウィンドウにフォームノード (
) で示されます。
- GUI ビルダーで作成したインタフェースを IDE の外部で機能させるためには、アプリケーションを配備するときに Swing レイアウト拡張ライブラリを組み込む必要があります。また、このライブラリは、実行時にも GUI アプリケーションのクラスパス上に存在する必要があります。詳細は、「Java GUI アプリケーションの配備」を参照してください。
GUI ビルダーの使用
GUI フォームを開くと、「ソース」ビューと「デザイン」ビューを切り替えるためのトグルボタンを含む「エディタ」タブにそのフォームが表示されます。「デザイン」ビューでは、GUI フォームをグラフィカルに扱うことができるのに対し、「ソース」ビューでは、フォームのソースコードを直接編集できます。フォームの「デザイン」トグルボタンを選択するたびに、「パレット」、「インスペクタ」、および「プロパティー」ウィンドウが自動的に表示されます。
通常、コンポーネントは「パレット」ウィンドウを使用してフォームに追加され、GUI ビルダーのワークスペース内で配置されます。ユーザーが作業を行うと、追加したコンポーネントの望ましい配置とアンカーの設定のヒントとなるガイドラインが GUI ビルダーによって自動的に表示されます。その後「プロパティー」ウィンドウとともに「インスペクタ」ウィンドウを使用して、フォームのコンポーネントやレイアウトマネージャーのプロパティーの確認や調整、コンポーネントのイベントハンドラの管理、コードの生成方法の定義などができます。
- デフォルトでは、GUI ビルダーは、作成されるすべての新規フォームに GroupLayout レイアウトマネージャーを使用します。別のレイアウトマネージャーを使用するには、コンテナを右クリックし、「レイアウトを設定」を選択してから、求めるレイアウトマネージャーを選択します。
保護されたブロック
「デザイン」ビューでフォームを操作すると、GUI ビルダーによって自動的にコードが生成され、「ソース」ビューに青い背景で表示されます。このコードは保護されたテキストであり、直接編集することはできません。
GUI ビルダーが生成する保護されたテキストには次のものがあります。
- コンポーネントの変数宣言ブロック
- フォームの初期化が行われる initComponents() メソッド。このメソッドはフォームのコンストラクタから呼び出され、手動では編集できませんが、コンポーネントのプロパティーシートの「コード」プロパティーを編集することによって生成方法を制御できます。
- すべてのイベントハンドラのヘッダー (および、末尾の中括弧)。
IDE 内の GUI フォームの階層構造
IDE の「インスペクタ」ウィンドウでは、フォームのさまざまなコンポーネントが階層ツリーで表示されます。それぞれのフォームはルートノード (
) で表現され、そこにフォームのクラス内のすべてのコンポーネントが格納されます。それ以外のすべての GUI コンポーネントは、次の 2 つのサブノードのいずれかに編成されます。
- フォームコンテナノード (
)。フォームの階層構造の最上位を表し、GUI ビルダーに現在表示されているすべての可視コンポーネントが含まれます。
- 「他のコンポーネント」ノード (
)。フォームの不可視コンポーネントを含みます。
注
- GUI ビルダーを使用するには、IDE の GUI フォームテンプレートで作成したファイルを使用する必要があります。GUI ビルダーを使用して、IDE の外部で作成された GUI フォームを編集することはできません。
- フリーデザインコンテナと他のレイアウトマネージャーを使用するコンテナを同じフォーム内で組み合わせることができます。
- 旧バージョンの IDE で作成されたフォームは、自動ではフリーデザインレイアウトマネージャーに変換されず、以前と同じ方法で編集できます。
- 旧バージョンの IDE で作成されたフォームに追加された新規コンテナは、コードの互換性を保証するために、フリーデザインレイアウトマネージャーを想定しません。ただし、それを「レイアウトを設定」サブメニューで手動で設定できます。
- 関連項目
- 新規フォームの作成
- レイアウトマネージャーについて
- Java GUI アプリケーションの配備
著作権と商標について