Javaフォームの編集
Javaフォームを編集するために、Javaフォーム定義では以下の操作を行うことができます。
Beanを設定する
オブジェクトパレットからBeanを選択および配置し、属性を設定します。
排他選択グループを定義する
Javaフォーム定義のメニューバーから[ツール] > [排他選択グループ定義]を選択します。
Javaフォームに装飾する
Javaフォームを線や四角などの描画で装飾します。
Javaフォーム定義の画面構成
Javaフォーム定義の画面は、以下5つのウィンドウ、エディタおよびビューから構成されています。これらの画面を使用してJavaフォームの編集を行います。
Javaフォーム定義ウィンドウ
Javaフォームの保存やBeanのコピーなどの編集をすることができます。
プロパティウィンドウ
Beanの一覧を表示し、プロパティの参照や変更をすることができます。
Javaフォームウィンドウ
Beanをマウス操作でJavaフォーム上に配置し、レイアウトの編集をすることができます。
Javaエディタ
Beanのイベント処理やユーザ定義メソッドの記述をすることができます。
Beanリストビュー
Beanの一覧を表示し、メソッドやイベントの挿入をすることができます。
Beanの新規配置、サイズの変更、移動および複写などの編集操作はマウスを使って行います。
Beanの新規配置
Beanの新規配置は、Javaフォーム定義からドラッグ&ドロップで簡単に行うことができます。
サイズや色などの変更
Beanのプロパティを設定することで、サイズや色、フォントなどを変更することができます。
JavaアプリケーションでBeanを配置する方法として、レイアウトマネージャがあります。レイアウトマネージャを使用すると、画面のサイズ変更に応じて自動的にレイアウトが補正されますが、レイアウトマネージャのサポートする画面形式によって制約を受けます。
画面の拡張性の観点からは画面のサイズ変更に対応することが望ましいため、Javaアプリケーションの画面設計では、レイアウトマネージャの使用を推奨します。
レイアウトの特性
FlowLayout
Beanを横並びに配置します。
BorderLayout
上下左右にBeanを配置します。
GridLayout
縦横サイズがそれぞれ均等なグリッド状にBeanを配置します。
GridBagLayout
グリッド状にBeanを配置するのは「GridLayout」と同様ですが、Beanのサイジング規則を細かく設定することが可能です。
CardLayout
パネルを切り替えるために使用します。
ポイント
Beanの描画が重なる場合は、重量コンポーネントが軽量コンポーネントの上に描画されます。また、各コンポーネント同士の描画が重なる場合は、コンテナへの追加順に従って決定されます。追加順は、コンポーネントツリー上の順番です。レイアウトマネージャの指定が「なし」以外の場合は、同じコンポーネント同士で描画が重なることはありません。
Beanのプロパティには以下の種類があります。
標準プロパティ
固有プロパティ
標準プロパティの一覧
JavaフォームおよびBeanの標準的プロパティです。標準プロパティの一覧は以下になります。
和名プロパティ | 英名プロパティ |
---|---|
Bean名 | beanName |
レイアウトマネージャ | layout |
矩形 | bounds |
境界線種別 | border |
配置条件 | constraints |
重なり/並び順 | addIndex |
表示 | visible |
背景色 | background |
前面色 | foreground |
フォント | font |
AWT識別名 | AWTName |
ツールチップ文字列 | toolTipText |
アテンション | attention |
注意
boundsプロパティはウィンドウのクライアント域の幅と高さの値を表示しますが、[実行イメージで編集]が選択されている場合は、ウィンドウの幅と高さの値を表示します。
固有プロパティ
固有プロパティは、各種Beanが提供するBeanInfo情報に指定された情報をもとに表示します。
固有プロパティが読み取り専用プロパティ、書き込み専用プロパティ、および、不可視属性いずれかの場合は、表示を行いません。
また、環境設定のオプションのプロパティで[専門家向けのプロパティを表示する]が選択されていない場合は、一部のプロパティは表示を行いません。
プロパティシートの情報
プロパティの参照および設定は、プロパティウィンドウのプロパティシートで行います。プロパティシートには以下の情報が表示されます。
標準タブ
Beanの標準プロパティを表示します。
固有タブ
Beanの固有プロパティを表示します。
プロパティ名
プロパティの名称を表示します。
設定値
設定中のプロパティの値を表示します。この値を書き換えると、Beanのプロパティを変更することができます。プロパティの種類によって、一覧からの値選択、数値のスピンボタンでの選択が行えます。
説明文
プロパティシートの下部には、選択中のプロパティの説明文を表示します。
プロパティシートの機能
プロパティウィンドウ内のボタンには、以下の機能があります。
Beanカスタマイザ表示
選択中のBeanがカスタマイザを提供している場合、カスタマイザを表示します。
一覧から選択
選択中のプロパティが、プロパティエディタを提供している場合、プロパティエディタを表示します。
null値を設定
選択中のプロパティにnullを設定します。Java言語の基本データ型ではないプロパティに対して設定できます。
初期値に戻す
プロパティの値を標準値に戻します。
元に戻す
プロパティの値を1つ前の状態に戻します。
ポイント
Javaフォーム定義には、スポット編集機能というBeanの主要なプロパティをフォーム上で編集する機能があります。スポット機能を使用するには、Javaフォーム定義のメニューバーから[環境設定] > [オプション] > [フォーム]タブで[スポット編集機能を有効にする]をチェックします。
選択しているBean上でマウスをクリックするか、[Ctrl+E]キーを押すとスポット編集状態になり、Beanの上部にスポット編集中であることを示すラベルが表示されます。
スポット編集を終了するには[Enter]キー、複数行入力可能スポット編集の場合は[Ctrl+Enter]キーを押します。
Bean関係の作成
以下の方法で[Bean関係の作成ウィザード]を起動することができます。ウィザードの指示にしたがって、ソースBeanのイベントおよびターゲットBeanのメソッド/プロパティを設定すると、指定したBeanのイベント処理記述内に、Bean関係のソースが作成されます。
メニュー起動
Javaフォーム定義のメニューバーから[ツール] > [Bean関係の作成ウィザード]を選択します。
ワイヤリング起動
Javaフォームのイベント処理を行うBean(ソースBean)上でマウスの右ボタンをクリックします。
マウスの右ボタンをクリックした状態で、そのままドラッグします。ドラッグ中は、マウスの右ボタンをクリックした位置からマウスカーソルがある位置まで、線(ワイヤ)が表示されます。
ドラッグした状態でマウスを移動させ、メソッド呼出し/プロパティ取得/プロパティ設定を行うBean(ターゲットBean)上でマウスの右ボタンを離します。
Bean関係の編集
[Bean関係の作成ウィザード]に設定されている値を編集し[作成]をクリックすると、可視化されたBean関係(矢印線)に対応するイベント処理記述内のBean関係のソースが更新されます。
ウィザードは以下の方法で起動することができます。
Javaフォームの可視化されたBean関係(矢印線)上でマウスの左ボタンをダブルクリック。
Javaフォームの可視化されたBean関係(矢印線)上でマウスを右クリックしコンテキストメニューを表示。[ウィザードで編集]を選択。
Javaフォーム定義のメニューバーから[ツール] > [Bean関係の確認]を選択。[Bean関係の確認]画面のBean関係一覧から編集するBean関係を選択し、[ウィザードで編集]をクリック。
Bean関係の削除
Javaフォームの可視化されたBean関係(矢印線)上でマウスの右ボタンをクリックし、コンテキストメニューから[削除]をクリックすることで、Bean関係を削除できます。
ポイント
Bean関係の削除は、Bean関係の確認画面からも行うことができます。
Bean関係の可視化
Bean関係を確認するには、Javaフォーム定義のメニューバーから[ツール] > [Bean関係の確認]を選択し、Bean関係の確認画面を起動します。
[Bean関係の確認]画面には、すべてのBean関係の一覧が表示され、Bean関係の新規作成、編集、削除を行うことができます。
Bean関係の解析
Bean関係は自動的に解析されますが、Javaフォーム定義のメニューバーから[編集] > [Bean関係再解析]を選択して任意で解析を行うことも可能です。
メニューの定義
プルダウンメニューを使う場合は、Javaフォーム定義のメニューバーから[ツール] > [メニュー定義]を選択し、メニュー定義を起動します。メニュー定義では、メニューの構成やメニューに表示する文字列などの情報を定義します。
メニューの操作
Javaフォームに定義したメニューのオブジェクトはJavaフォームのクラスフィールドとなります。通常これらのフィールドを使用してメニューを直接操作する必要はありませんが、特別な処理を行いたい場合にはクラスフィールドを通してオブジェクトを操作できます。
メニューオブジェクトを操作する例を以下に示します。
例
"APPLY"アテンションが発生したら、メニューオブジェクト「cancel」をマスクします。
public boolean processAttention_APPLY() { cancel.setEnabled(false); return true; }
アテンション
メニュー操作に対する動作を記述するためにはアテンションを使用します。アテンションはメニューの操作のみならず、画面全般の操作に対して付けた名前で、メニュー、ボタン、キーなどの操作に対する動作の記述に使用します。
注意
アテンションを発生させるためにはアクションイベントの定義が必須なため、一般のアクションイベントと違いがありません。そのため手間が増加するケースもあるため、アテンションの使用は推奨しません。
排他選択グループとは、排他選択型Bean(ラジオボタン)をグループ化し、自動的に選択状態を設定する機能です。同一の排他選択グループ内で1つのBeanだけが選択状態に設定され、ほかのBeanは非選択状態に設定されます。
排他選択グループの定義方法
排他選択グループの設定ダイアログボックスの表示
Javaフォーム定義のメニューバーから[ツール] > [排他選択グループ定義]を選択し、排他選択グループ定義を起動します。
排他選択グループの新規作成
[JBK用グループ追加]、[AWT用グループ追加]または[Swing用グループ追加]をクリックして新規に選択グループを作成します。
グループメンバの設定
[グループ一覧]リストにある作成したグループ名を選択して、[メンバ設定]をクリックすると、[排他選択グループ内のメンバ設定]画面が表示されます。ここで、グループのメンバを設定します。
注意
デフォルトの排他選択グループ(グループ名:__cdDefaultJFButtonGroup、__cdDefaultCheckboxGroupおよび__cdDefaultButtonGroup)があらかじめ定義されています。排他選択型BeanをJavaフォームに貼った場合、デフォルトの排他選択グループに自動的に追加されます。デフォルトの排他選択グループを削除することはできません。
排他選択グループの直接操作
特別な処理を行いたい場合にはクラスフィールドを通してオブジェクトを操作することができます。
[クラスフィールド名]
排他選択グループ定義ダイアログボックスでグループを追加した際に「グループオブジェクト名」で指定した名前。
[クラスフィールド型]
作成した排他選択グループの種類 | 排他選択グループオブジェクトのクラスフィールド型 |
---|---|
AWT用グループ | java.awt.CheckboxGroup |
Swing用グループ | javax.swing.ButtonGroup |
例
"APPLY"アテンションが発生したら、AWT用排他選択グループ「select」内で排他選択されているオブジェクトの背景色を赤に設定します。
public boolean processAttention_APPLY() { select.getSelectedCheckbox().setBackground(java.awt.Color.red); return true; }