PEXA Clientについて

チュートリアル

定義パターン

定義ファイル

リファレンス

目次

  1. はじめに
  2. ComponentタグとGUI部品の対応
  3. 共通属性値
  4. Componentから送信されるイベント
  5. 右クリックメニュー
  6. フォント設定
  7. トランスレータの指定
  8. Componentの国際化対応
  9. 各コンポーネント詳細
    1. Buttonタグ
    2. Calendarタグ
    3. CheckBoxタグ
    4. CheckBoxGroupタグ
    5. Clearタグ
    6. ComboBoxタグ
    7. Componentタグ
    8. Dialogタグ
    9. DynamicFormタグ
    10. HTMLPaneタグ
    11. Labelタグ
    12. Linkタグ
    13. LinkMenuタグ
    14. Listタグ
    15. MenuBarタグ
    16. MenuButtonタグ
    17. Panelタグ
    18. Pluginタグ
    19. RadioButtonGroupタグ
    20. Spinnerタグ
    21. TabbedPaneタグ
    22. Tableタグ
    23. TextAreaタグ
    24. TextFieldタグ
    25. ToggleButtonGroupタグ
    26. Treeタグ
    27. TreeMenuタグ


はじめに

このドキュメントは、コンポーネントタグのリファレンスです。

コンポーネントタグは、Area定義のcomponent-mappingタグの子タグとして記述されるタグで、画面のGUIコンポーネントの制御情報を記述します。 Area定義にコンポーネントタグを書くことによって、対象のGUIコンポーネントがフレームワークの制御対象になります。

Area定義については、こちらを参照してください。
また、文中にでてくる参照記法については、こちらを参照してください。

このリファレンスでは、各タグの記述例及び固有属性値、タグ毎のオプション設定を記述します。


ComponentタグとGUI部品の対応

Componentタグが制御する具体的なGUI部品を以下に挙げます。
1つのタグが1種類のGUI部品のみに対応している場合もあれば、複数のGUI部品に対応している場合もあります。

複数種類のGUI部品に対応している例として、LabelタグはSwingのJLabelおよびJTextFieldに対応しています。
JLabelに対してLabelタグを使用した場合はJLabelの使用用途通りに制御されるのに対して、
JTextFieldに対してLabelタグを使用すると、編集不可(editable=false)の表示専用フィールドとして制御されます。

このように、実際のGUI部品の種類としては別物であっても、同じタグで制御を行うことで同じ振る舞いをさせることが可能です。

Swing GUI部品との対応
Componentタグ 対応するSwing GUIクラス
Buttonタグ javax.swing.JButton
javax.swing.JLabel
Calendarタグ javax.swing.JButton
javax.swing.JLabel
javax.swing.JPanel
pexa.client.std.view.swing.component.gui.Link
CheckBoxタグ javax.swing.JCheckBox
CheckBoxGroupタグ javax.swing.JCheckBox
Clearタグ javax.swing.JButton
javax.swing.JLabel
javax.swing.JPanel
pexa.client.std.view.swing.component.gui.Link
ComboBoxタグ javax.swing.JComboBox
Componentタグ javax.swing.JComponentの派生クラス
Dialogタグ javax.swing.JButton
javax.swing.JLabel
javax.swing.JPanel
pexa.client.std.view.swing.component.gui.Link
HTMLPaneタグ javax.swing.JEditorPane
Labelタグ javax.swing.JLabel
javax.swing.JTextField
Linkタグ pexa.client.std.view.swing.component.gui.Link
LinkMenuタグ pexa.client.std.view.swing.component.gui.LinkMenu
Listタグ javax.swing.JList
MenuBarタグ javax.swing.JMenuBar
Panelタグ javax.swing.JPanel
Pluginタグ pexa.client.std.view.swing.component.PluginComponentの実装クラス
RadioButtonGroupタグ javax.swing.JRadioButton
Spinnerタグ javax.swing.JSpinner
TabbedPaneタグ javax.swing.JTabbedPane
Tableタグ javax.swing.JTable
TextAreaタグ javax.swing.JTextArea
TextFieldタグ javax.swing.JTextField
ToggleButtonGroupタグ javax.swing.JToggleButton
Treeタグ javax.swing.JTree
TreeMenuタグ javax.swing.JTree


共通属性値

各コンポーネントタグには、以下に挙げる共通で使用できる属性値があります。
これらについては各タグ毎に働きは同じなので、個別のタグの説明ではとりあげません。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id 制御対象のコンポーネントを識別するID。
リッチクライアントでは、GUIコンポーネントのname属性に設定された値と同一になる。
文字列 必須 不可
visible コンポーネントの可視、不可視を指定する。 true, false 非必須
enabled コンポーネントの有効、無効を指定する。 true, false 非必須
available Areaで状態遷移表を定義している場合に、どの状態でコンポーネントが有効になるかを指定する。
指定しない場合はAreaの状態遷移に影響を受けない。
文字列 非必須 不可
foreground コンポーネントの前景色を指定する。 color参照のみ 非必須 color参照のみ指定可
background コンポーネントの背景色を指定する。 color参照のみ 非必須 color参照のみ指定可
tooltip コンポーネントにカーソルを合わせると表示されるツールチップ文字列を指定する。 文字列 非必須
onChange 入力系コンポーネント上でユーザー操作によって入力が行われた際に、任意のイベントを発行したい場合に指定する。 対応するのは以下のコンポーネント。
  • TextField
  • TextArea
  • ComboBox
  • List
  • RadioButtonGroup
  • CheckBoxGroup
  • CheckBox
  • Calender
  • Dialog
  • Spinner
  • Clear
文字列 非必須 不可
required 必須入力項目であることをコンポーネントの表示に反映させるための属性値です。
この属性値がtrueの場合は、コンポーネント背景色が必須項目であることを表す色に変化します。
実際の色についてはプロパティファイルにて指定可能です。
対応するのは以下のコンポーネント。
  • TextField
  • TextArea
  • ComboBox
true,
false
非必須
refreshBy コンポーネントの表示リフレッシュをどのように行うかを指定する属性値です。
基本的に表示リフレッシュは実行エンジン側が自動で行うのですが、その場合は常に現在の表示内容と表示対象値の比較を行うので、 データモデルのリストを扱うようなコンポーネントの場合は非常に時間がかかってパフォーマンスに悪影響を及ぼすようなケースがあります。
そのような場合にこの属性値で"command"を指定すると、表示リフレッシュは自動では行われなくなり、 Area定義のCommandでrefresh命令を使用することでのみ表示リフレッシュが行われるようになるので、 パフォーマンスが改善される可能性があります。

以下の2つが指定できます。
  • auto : 実行エンジン側で自動で表示をリフレッシュする(デフォルト)。
  • command : Commadnのrefresh命令でのみ表示をリフレッシュする。
対応するのは以下のコンポーネント。
  • Table
  • List
  • ComboBox
  • HTMLPane
auto,
command
非必須 不可


Componentから送信されるイベント

タグを書くことによりフレームワークの制御対象となったGUIコンポーネントは、画面上での ユーザー操作に応じてフレームワークに対してイベントを送信するようになります。

ここではコンポーネントから送信される可能性のあるイベントについて記述します。

INPUT_FIXED

値の入力を受け付けるコンポーネントが送信するイベントです。
このイベントをフレームワークが受信することにより、入力に関する処理(VirtualComponentのinputメソッド)が実行されます。

以下のコンポーネントから送信されます。

コンポーネント名 送信タイミング
TextField リターンキー押下時、フォーカス移動時
TextArea リターンキー押下時、フォーカス移動時
CheckBox チェックしたとき、チェックを外した時
ComboBox 選択肢から選択した時
RadioButtonGroup 選択肢から選択した時
CheckBoxGroup チェックしたとき、チェックを外した時
Table 行を選択した時
Tree ノードを選択した時
TreeMenu selectedItem属性の指定があって、ノードを選択した時
TabbedPane タブを選択した時
Calendar 日付を選択した時
Dialog 入力補助画面から結果を受け取った時
List 選択肢から選択した時
Spinner リターンキー押下時、フォーカス移動時、ボタン押下

COMMAND

Areaの状態遷移表をスルーして、直接Commandの実行を行うイベントです。
形式 :
COMMAND[{実行したいコマンドのID}]

記述例 :

<Buttion id="ログインボタン" onClick="COMMAND[ログイン実行]"/>
という形でコンポーネントの属性値に指定します。
これは、フレームワーク内部で"COMMAND"という固定イベントとして一旦処理した上で、 括弧内のコマンドIDから実行すべきコマンドを決定しているという意味になります。

そのため、この形式で任意イベントを指定すると状態遷移表による制御を通り抜けてしまうので、状態制御が必要な 場合はArea定義に状態遷移表を定義し、そこで任意イベントを定義してコンポーネントとリンクさせてください。

コマンド実行イベントを指定できるコンポーネントには以下の物があります。

コンポーネント名 コマンド実行イベントを指定する属性値 発行タイミング
Button onClick ボタンをクリック、押下した時。
Link onClick リンクをクリックした時。
LinkMenu onClick リンクをクリックした時。
TreeMenu onClick ツリー中のノードをクリックした時。
TreeMenu onDoubleClick ツリー中のノードをダブルクリックした時。
Table onClick テーブルのレコードを選択した時。
Table onDoubleClick テーブルのレコードをダブルクリックした時。
Table onEnter テーブルのレコードを選択した状態でENTERキー入力された時。
Table onChange テーブルのセル上で値編集が行われて入力確定された時。
TabbedPane onChange 選択タブを変更した時。
TextField onChange ユーザー操作によって入力が行われてフォーカスが外れるかENTERキー入力された時。
TextField onEnter ユーザー操作によって入力が行われて値が変更された状態でENTERキー入力された時。
TextField onEnterForced ENTERキー入力された時。入力値の変更などに関係なくイベント発行。
TextField onDoubleClick フィールド上でダブルクリックした時。
TextArea onChange ユーザー操作によって入力が行われてフォーカスが外れた時。
ComboBox onChange ユーザー操作によって選択値が変更された時。
ComboBox onEnter ユーザー操作によって値が変更された状態でENTERキー入力された時。
ComboBox onDoubleClick ComboBoxのテキストフィールド上でダブルクリックした時。
List onChange ユーザー操作によって選択値が変更された時。
List onDoubleClick リストのレコードをダブルクリックした時。
RadioButtonGroup onChange ユーザー操作によって選択値が変更された時。
CheckBoxGroup onChange ユーザー操作によって選択値が変更された時。
CheckBox onChange ユーザー操作によって選択値が変更された時。
Calendar onChange ユーザー操作によって日付が変更された時。
Dialog onChange ユーザー操作によって入力値が変更された時。
Clear onChange ユーザー操作前に入力値が存在した時。

DIALOG

ダイアログ画面の表示を行うイベントです。
DialogタグでAreaに配置されたダイアログ画面をこのイベントで表示することができます。
なお、イベントから表示できるDialogの場合、Dialogタグのowner属性で"area"と指定する必要があります。

形式 :
DIALOG[{表示したいDialogのID}]

記述例 :

<Buttion id="商品検索ボタン" onClick="DIALOG[商品検索ダイアログ]"/>
<Dialog id="商品検索ダイアログ" owner="area" page="CP_ProductSearchDialog">
    :
    :
</Dialog/>
という形でコンポーネントの属性値に指定します。
これは、フレームワーク内部で"DIALOG"という固定イベントとして一旦処理した上で、 括弧内のダイアログのIDから表示すべきダイアログ画面を決定しているという意味になります。

ダイアログ表示イベントを指定できるコンポーネントは、COMMANDイベントを発行できるコンポーネントと同一になります。


CLOSE

画面の終了処理をフレームワークに依頼するイベントです。

任意のボタンでonClick属性で指定することも出来ますし、 ウィンドウの閉じるボタン押下時には自動的に送信されます。

このイベントは、Areaの状態遷移表の内容、有無にかかわらず 必ずフレームワークに受信されます。

終了実行イベントを指定できるコンポーネントには以下の物があります。

コンポーネント名 終了イベントを指定する属性値 発行タイミング
Button onClick ボタンをクリック、押下した時。

状態遷移表に対する任意のイベント

画面に処理状態をもたせて制御する場合は、Area定義の状態遷移表で定義した任意のイベントをコンポーネントの属性値で指定します。

Buttonタグで制御されるコンポーネントは、Area定義の状態遷移表で記述されている状態とイベントの組み合わせによって、 そのコンポーネントの有効/無効が制御されるようになります。

任意のイベントを指定できるコンポーネントは、COMMANDイベントを発行できるコンポーネントと同一になります。



右クリックメニュー

特定のコンポーネント上でマウスで右クリックした際に、ポップアップメニューを表示させることが出来ます。
現在右クリックメニューをサポートするコンポーネントは以下の物となります。

上記のコンポーネントの制御タグに、子タグとしてPopupMenuタグを記述することで右クリックメニューを定義できます。
末端のメニュー項目にはそのメニューを選択した際に発行されるイベント名を指定することが出来ますので、TreeMenuButtonと同じように使用することが出来ます。

PopupMenuタグには属性値はありません。書式は以下のようになります。

記述例 : Tableの子タグをして記述

<Table id="xxxテーブル".....>
    <TableModel rows=".....">
        <TableColumn header="aaaa"...../>
        <TableColumn header="bbbb"...../>
    </TableModel>
    <PopupMenu>
        <Menu text="状態変更">
            <MenuItem text="有効" onClick="COMMAND[有効状態に変更]"/>
            <MenuItem text="無効" onClick="COMMAND[無効状態に変更]"/>
        </Menu>
        <MenuSeparator/>
        <MenuItem text="表示更新" onClick="COMMAND[表示更新]"/>
    </PopupMenu>
</Table>

オプション設定 :
PopupMenuオプション設定のタグとして、Menuタグ、MenuItemタグ、MenuSeparatorタグがあります。

Menuタグ

メニュー項目(MenuItem)を格納するプルダウンメニューを表すタグです
子要素として、Menuタグ、MenuItemタグ、MenuSeparatorタグを持つことができます。
Menuタグはネストさせることが出来ます。その場合は、階層化されたメニューを構築できます。
また、MenuSeparatorタグを指定すると、その位置に分割線を挿入することが出来ます。 Menuタグの属性値の意味は以下の通り

属性値名 説明 形式 必須/非必須 参照記法可/不可
text 表示するメニュー項目の文字列指定 文字列 必須

MenuItemタグ

末端のメニュー項目一つ一つを表すタグです
MenuItemタグはMenuタグの子要素として記述します。このタグは子要素を持ちません。
このタグで表されたメニュー項目を画面上で選択することで、onClick属性で指定したイベントをエリアに対して発行することができます。
なお、ある条件下でメニュー項目の有効無効を切り替えたい場合は、enabled属性でその条件を指定することができます。

MenuItemタグの属性値の意味は以下の通り

属性値名 説明 形式 必須/非必須 参照記法可/不可
text 表示するメニュー項目の文字列指定 文字列 必須
onClick メニュー項目がクリックされた際に発行するイベント名
指定されていない場合、そのノードをクリックしても何も起きません
文字列 必須 不可
enabled メニュー項目の有効無効を指定する。
通常は参照記法でfilter判定条件やcontent項目などを指定する。
true,
false
非必須
visible メニュー項目の表示非表示を指定する。
通常は参照記法でfilter判定条件やcontent項目などを指定する。
true,
false
非必須

MenuSeparatorタグ

プルダウンメニュー中の分割線を表すタグです。
Menuタグの子要素として記述すると、プルダウンメニュー中の該当位置に分割線が表示されます。
このタグは子要素を持ちません。

MenuSeparatorタグには属性値はありません。


プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.PopupMenu.Font.name ポップアップメニューのフォント名設定
VirtualComponent.PopupMenu.Font.style ポップアップメニューのフォントスタイル設定
VirtualComponent.PopupMenu.Font.size ポップアップメニューのフォントサイズ設定


フォント設定

画面に表示される文字は、文字表示を行うことができるなんらかのGUI部品上に表示されることになります。
その文字のフォントについての設定を定義ファイル上で行うことができます。

フォント設定で指定できるのは以下のパラメータとなります。
それぞれは指定を省略することができます。省略した場合は全体のデフォルト設定が適用されます。

  • フォント名 : MS Gothicといったフォント名を指定します。
  • フォントスタイル : BOLD(太字), ITALIC(斜字)といったスタイルを指定します。
  • フォントサイズ : 文字サイズをポイント数で指定します。
また、フォントの設定レベルには以下の3レベルがあります。
  1. アプリケーション全体でのデフォルトフォント設定
  2. GUI部品の種類毎のデフォルトフォント設定
  3. 個々のGUI部品での個別フォント設定
個別の設定になればなるほど上書き設定となり、優先的に設定が反映されます。
全体の設定になればなるほど適用範囲が広くなります。

この3レベルの設定により、例えば以下のような設定が可能となります。

フォント設定例:
  1. アプリケーション全体のデフォルトフォント設定として、フォント名=MS Gothic, フォントサイズ=12, フォントスタイル=PLAINを指定。
  2. MenuBarコンポーネントのみのデフォルトフォント設定として、フォントサイズ11, フォントスタイル=BOLDを指定。
  3. あるArea定義でのタイトル表示LabelでFontタグを指定して、そのLabelのみフォントサイズを10にする。
以下で、それぞれの設定方法について説明します。

アプリケーション全体でのデフォルトフォント設定

アプリケーション全体に対するデフォルトのフォント設定は、プロパティファイルで行うことができます。
プラグインプロパティアプリケーションプロパティで指定することができます。

なお、例外としてMenuBarおよびPopupMenuに関しては、この全体デフォルト設定は適用されません。
この2つについては別途GUI部品の種類毎のデフォルトフォント設定で個別に指定します。

設定セクションは、エリアレイアウトに対する個別設定セクションです。
設定例および各設定値については以下のようになります。

設定例 :

# -------------------------------------------------------------------
#
# エリアレイアウトのパラメータ
#
# -------------------------------------------------------------------
#フォント統一モード
#(フォント名のみ:NAME, サイズ:NAME_SIZE, スタイル:NAME_STYLE, 全て:ALL, 無し:NONE)
AreaLayout.Font.ArrangeMode=NAME
# 統一フォント
AreaLayout.Font.name=MS PGothic
# 統一フォントスタイル
#(PLAIN or BOLD or ITALIC or BOLD_ITALIC)
AreaLayout.Font.style=PLAIN
# 統一フォントサイズ
AreaLayout.Font.size=12

各設定キー及び値の指定 :

設定キー 設定値 説明
AreaLayout.Font.ArrangeMode
  • NAME : フォントの種類のみ統一
  • NAME_SIZE : フォントの種類とサイズを統一
  • NAME_STYLE : フォントの種類とスタイルを統一
  • ALL : 種類、サイズ、スタイル全てを統一する
  • NONE : デフォルトフォント設定を行わない
アプリケーション全体のデフォルトフォント設定の統一モード指定です。
このモード指定によって、以降の各設定が反映される/されないが変わってきます。
AreaLayout.Font.name フォント名を文字列で指定します。 アプリケーション全体のデフォルトフォントの種類を指定します。
以下の統一モードで適用されます。
  • NAME
  • NAME_SIZE
  • NAME_STYLE
  • ALL

AreaLayout.Font.style
  • PLAIN : 修飾なしの標準スタイル
  • BOLD : 太字
  • ITALIC : 斜字
  • BOLD_ITALIC : 太字かつ斜字
アプリケーション全体のデフォルトフォントのスタイルを指定します。
以下の統一モードで適用されます。
  • NAME_STYLE
  • ALL
AreaLayout.Font.size フォントのサイズを数値で指定します。 アプリケーション全体のデフォルトフォントのサイズを指定します。
以下の統一モードで適用されます。
  • NAME_SIZE
  • ALL

GUI部品の種類毎のデフォルトフォント設定

GUI部品の種類毎のデフォルトフォント設定は、プロパティファイルで行うことができます。
プラグインプロパティアプリケーションプロパティで指定することができます。

設定セクションは、仮想コンポーネントの個別設定セクションです。

設定値キーの書式 : 
コンポーネント毎のデフォルトフォント設定では、設定値キーにコンポーネントタグ名が入るので、以下の形式になります。

  VirtualComponent.{コンポーネントタグ名}.Font.{フォントパラメータ名}

設定例および各設定値については以下のようになります。

設定例 :

# -------------------------------------------------------------------
#
# 仮想コンポーネントの個別パラメータ
#
# -------------------------------------------------------------------
# メニューバーに対するデフォルトフォント設定
VirtualComponent.MenuBar.Font.name=MS UI Gothic
VirtualComponent.MenuBar.Font.style=BOLD
VirtualComponent.MenuBar.Font.size=11

# ポップアップメニューに対するデフォルトフォント設定
VirtualComponent.PopupMenu.Font.name=MS UI Gothic
VirtualComponent.PopupMenu.Font.style=PLAIN
VirtualComponent.PopupMenu.Font.size=10

# ボタンに対するデフォルトフォント設定
VirtualComponent.Button.Font.name=MS UI Gothic
VirtualComponent.Button.Font.style=ITALIC
VirtualComponent.Button.Font.size=10

各設定キー及び値の指定 :

設定キー 設定値 説明
VirtualComponent.{コンポーネントタグ名}.Font.name デフォルトフォント名を表す文字列 コンポーネントの種類毎のデフォルトフォントの種類を指定します。
VirtualComponent.{コンポーネントタグ名}.Font.style デフォルトフォントスタイルを指定します。
  • PLAIN : 修飾なしの標準スタイル
  • BOLD : 太字
  • ITALIC : 斜字
  • BOLD_ITALIC : 太字かつ斜字
コンポーネントの種類毎のデフォルトフォントのスタイルを指定します。
VirtualComponent.{コンポーネントタグ名}.Font.size デフォルトフォントサイズを数値で指定します。 コンポーネントの種類毎のデフォルトフォントのサイズを指定します。

個々のGUI部品での個別フォント設定

個々のGUI部品での個別フォント設定は、Area定義での各コンポーネントタグにFontタグを子タグとして指定することで設定できます。
このFontタグを指定できるのは、文字表示を行うことができるコンポーネントになります。
なお、RadioButtonGroup, CheckBoxGroup, ToggleButtonGroupについてはGroupに対しての設定となり、その配下の個々の要素には設定できません。

設定例 :

<Label id="タイトル表示ラベル" text="交通費精算書">
    <Font name="MS UI Gothic" style="BOLD" size="16"/>
</Label>

属性値 :
Fontタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
name 個別のコンポーネントに適用したいフォント名を指定する。 文字列 非必須 不可
style 個別のコンポーネントに適用したいフォントスタイルを指定する。
  • PLAIN : 修飾なしの標準スタイル
  • BOLD : 太字
  • ITALIC : 斜字
  • BOLD_ITALIC : 太字かつ斜字
PLAIN
BOLD
ITALIC
BOLD_ITALIC
非必須 不可
size 個別のコンポーネントに適用したいフォントサイズを指定する。 数値 非必須 不可


トランスレータの指定

GUI部品の中には値の入力や表示を行うような物が多くあります。
これらはフリーテキストの文字列を扱うこともあれば、日付や区分値と言った値オブジェクトを扱う場合もあります。
しかしどのような値オブジェクトであっても画面に表示する際は最終的に文字列に変換して表示することになります。

この表示のための値オブジェクトから文字列への変換をPEXAでは"トランスレータ"という仕組みで扱います。
トランスレータ自体はSupportFrameworkとして提供されているもので、定義ファイル等の書式といった詳細については SupportFrameworkガイドを参照してください。

このトランスレータの機能を使用して、Label, Table, List, ComboBoxといったコンポーネントは値を表示文字列に変換します。
これらのタグはtranslator属性を持っているので、デフォルト以外の特定のトランスレータを使用する場合は別途用意したトランスレータの名前をそこで指定します。

なお、一部のコンポーネントタグはtranslatorタグを使うことで使用するトランスレータを条件をつけて動的に選択させることが出来ます。
以下に動的に指定できるコンポーネントタグとそれぞれでの指定方法を説明します。

Labelタグでの条件付きトランスレータ

Labelタグでは、子タグとしてtranslatorタグを指定することで、条件付きの動的なトランスレータ指定が出来ます。
translator属性と一緒に指定されている場合は以下の優先順位で採用されます。

  1. condition付きのtranslatorタグ(上から順に判定)
  2. Labelタグのtranslator属性
  3. デフォルトトランスレータ
記述例は以下のようになります。
<Label id="受注金額ラベル" text="content:CC_RCVO_001_Edit/受注金額" translator="受注金額">
    <translator name="ドル金額表示" condition="filter:[content:CC_RCVO_001_Edit//通貨区分 = ドル]"/>
    <translator name="円金額表示" condition="filter:[content:CC_RCVO_001_Edit//通貨区分 = 円]"/>
</Label>


Tableタグでの条件付きトランスレータ

Tableタグでは、TableColumnタグの子タグとしてtranslatorタグを指定することで、条件付きの動的なトランスレータ指定が出来ます。
translator属性と一緒に指定されている場合は以下の優先順位で採用されます。

  1. condition付きのtranslatorタグ(上から順に判定)
  2. TableColumnタグのtranslator属性
  3. Tableタグのtranslator属性
  4. デフォルトトランスレータ
記述例は以下のようになります。
<Table id="受注一覧テーブル".......>
    <TableModel rows="content:CC_RCVO_002_EditList/受注一覧">
            :
        <TableColumn header="受注金額" ptype="受注金額">
            <translator name="ドル金額表示" condition="filter:[row:data/通貨区分 = ドル]"/>
            <translator name="円金額表示" condition="filter:[row:data/通貨区分 = 円]"/>
        </TableColumn>
            :
    <TableModel>
</Table>



Componentの国際化対応

アプリケーションの国際化対応は、基本的には

を使用して行いますが、まれにコンポーネント毎に個別で対応すべきケースがあります。

例えば、ComboBoxやListなどに商品の一覧を表示する場合に、一覧データとなる商品マスタで商品名を
  • 日本語商品名
  • 英語商品名
という別々の業務項目で保持していた場合に、日本語環境では前者の項目を表示して、英語環境では後者の項目を表示するといったケースです。
この場合、環境に応じて商品マスタのどの業務項目を表示文字列として使用するかをComboBox側で指定する必要があります。

このようなケースに対応するために、データモデル中の業務項目を表示文字列として扱うようなコンポーネントには国際化対応用の子タグが用意してあります。
以下でそれぞれの国際化対応の記述方法について説明します。

Labelタグの国際化対応

Labelタグでは、取り扱う業務項目をtext属性で指定することになりますので、ここが国際化対応のポイントになります。
実行環境に応じてどの業務項目を使用するかをtextタグで以下のように指定することができます。

記述例:日本語商品名はlocale="ja_JP"、英語商品名はlocale="en"に適用とした場合

<Label id="商品名ラベル" text="content:CC_SMPL_001_Edit/英語商品名">
    <text ref="content:CC_SMPL_001_Edit/日本語商品名" lang="ja" country="JP"/>
    <text ref="content:CC_SMPL_001_Edit/英語商品名" lang="en"/>
</Label>
上から順に判定していき、合致した条件に当てはまるtextタグで指定された項目がLabelにマッピングされます。
もしtextタグを判定していった結果合致する物が無かった場合は、text属性で指定された項目が採用されます。
text属性は省略することも可能ですが、万一当てはまる物が無かった場合のデフォルトとして指定しておくことを推奨します。

ここで指定するtextタグは以下の属性を持ちます。

属性値名 説明 形式 必須/非必須 参照記法可/不可
ref Labelに表示する文字列の取得元の指定。通常は参照記法で指定する。 文字列 必須
lang textタグの適用言語圏を指定する。
ISO-639で定義される2桁の小文字で指定すること。
文字列 必須 不可
country textタグの適用国を指定する。
ISO-3166で定義される2桁の大文字で指定すること。
省略可能。省略時は実行環境のcountryに関わらずlanguageが一致すれば適用される。
文字列 非必須 不可
condition textタグの適用追加条件の指定。
言語圏、適用国以外で何か条件がある場合はfilter参照などで条件を記述する。
文字列 非必須

TextFieldタグの国際化対応

TextFieldタグでは、取り扱う業務項目をtext属性で指定することになりますので、ここが国際化対応のポイントになります。
実行環境に応じてどの業務項目を使用するかをtextタグで以下のように指定することができます。

記述例:日本語商品名はlocale="ja_JP"、英語商品名はlocale="en"に適用とした場合

<TextField id="商品名テキストフィールド" text="content:CC_SMPL_001_Edit/英語商品名">
    <text ref="content:CC_SMPL_001_Edit/日本語商品名" lang="ja" country="JP"/>
    <text ref="content:CC_SMPL_001_Edit/英語商品名" lang="en"/>
</TextField>
上から順に判定していき、合致した条件に当てはまるtextタグで指定された項目がTextFieldにマッピングされます。
もしtextタグを判定していった結果合致する物が無かった場合は、text属性で指定された項目が採用されます。
text属性は省略することも可能ですが、万一当てはまる物が無かった場合のデフォルトとして指定しておくことを推奨します。

ここで指定するtextタグは以下の属性を持ちます。

属性値名 説明 形式 必須/非必須 参照記法可/不可
ref TextFieldに表示する文字列の取得元の指定。
通常は参照記法で指定する。
文字列 必須
lang textタグの適用言語圏を指定する。
ISO-639で定義される2桁の小文字で指定すること。
文字列 必須 不可
country textタグの適用国を指定する。
ISO-3166で定義される2桁の大文字で指定すること。
省略可能。省略時は実行環境のcountryに関わらずlanguageが一致すれば適用される。
文字列 非必須 不可
condition textタグの適用追加条件の指定。
言語圏、適用国以外で何か条件がある場合はfilter参照などで条件を記述する。
文字列 非必須

TextAreaタグの国際化対応

TextAreaタグでは、取り扱う業務項目をtext属性で指定することになりますので、ここが国際化対応のポイントになります。
実行環境に応じてどの業務項目を使用するかをtextタグで以下のように指定することができます。

記述例:日本語商品説明はlocale="ja_JP"、英語商品説明はlocale="en"に適用とした場合

<TextArea id="商品説明テキストエリア" text="content:CC_SMPL_001_Edit/英語商品説明">
    <text ref="content:CC_SMPL_001_Edit/日本語商品説明" lang="ja" country="JP"/>
    <text ref="content:CC_SMPL_001_Edit/英語商品説明" lang="en"/>
</TextArea>
上から順に判定していき、合致した条件に当てはまるtextタグで指定された項目がTextAreaにマッピングされます。
もしtextタグを判定していった結果合致する物が無かった場合は、text属性で指定された項目が採用されます。
text属性は省略することも可能ですが、万一当てはまる物が無かった場合のデフォルトとして指定しておくことを推奨します。

ここで指定するtextタグは以下の属性を持ちます。

属性値名 説明 形式 必須/非必須 参照記法可/不可
ref TextAreaに表示する文字列の取得元の指定。
通常は参照記法で指定する。
文字列 必須
lang textタグの適用言語圏を指定する。
ISO-639で定義される2桁の小文字で指定すること。
文字列 必須 不可
country textタグの適用国を指定する。
ISO-3166で定義される2桁の大文字で指定すること。
省略可能。省略時は実行環境のcountryに関わらずlanguageが一致すれば適用される。
文字列 非必須 不可
condition textタグの適用追加条件の指定。
言語圏、適用国以外で何か条件がある場合はfilter参照などで条件を記述する。
文字列 非必須

ComboBoxタグの国際化対応

ComboBoxタグでは、データモデルの内容を元に選択項目一覧を作成する場合に、表示文字列にするための業務項目を ObservableComboValueタグのtext属性で指定することになりますので、ここが国際化対応のポイントになります。
実行環境に応じてどの業務項目を使用するかをtextタグで以下のように指定することができます。

記述例:日本語商品名はlocale="ja_JP"、英語商品名はlocale="en"に適用とした場合

<ComboBox id="商品選択コンボボックス" selectedItem="content:CC_SMPL_001_Edit/選択商品No">
    <ComboBoxModel>
        <ObservableComboValue items="content:CC_SMPL_001_Edit/商品マスタ一覧" value="商品No" text="英語商品名">
            <text ref="日本語商品名" lang="ja" country="JP"/>
            <text ref="英語商品名" lang="en"/>
        </ObservableComboValue>
    </ComboBoxModel>
</ComboBox>
上から順に判定していき、合致した条件に当てはまるtextタグで指定された項目がComboBoxの表示文字列にマッピングされます。
もしtextタグを判定していった結果合致する物が無かった場合は、ObservableComboValueタグのtext属性で指定された項目が採用されます。
text属性は省略することも可能ですが、万一当てはまる物が無かった場合のデフォルトとして指定しておくことを推奨します。

ここで指定するtextタグは以下の属性を持ちます。

属性値名 説明 形式 必須/非必須 参照記法可/不可
ref ComboBoxに表示する文字列の業務項目名の指定。
カンマ区切りで複数指定可能。
文字列 必須 不可
lang textタグの適用言語圏を指定する。
ISO-639で定義される2桁の小文字で指定すること。
文字列 必須 不可
country textタグの適用国を指定する。
ISO-3166で定義される2桁の大文字で指定すること。
省略可能。省略時は実行環境のcountryに関わらずlanguageが一致すれば適用される。
文字列 非必須 不可
condition textタグの適用追加条件の指定。
言語圏、適用国以外で何か条件がある場合はfilter参照などで条件を記述する。
文字列 非必須

Listタグの国際化対応

Listタグでは、データモデルの内容を元に選択項目一覧を作成する場合に、表示文字列にするための業務項目を ObservableListValueタグのtext属性で指定することになりますので、ここが国際化対応のポイントになります。
実行環境に応じてどの業務項目を使用するかをtextタグで以下のように指定することができます。

記述例:日本語商品名はlocale="ja_JP"、英語商品名はlocale="en"に適用とした場合

<List id="商品選択コンボボックス" selectedItem="content:CC_SMPL_001_Edit/選択商品No">
    <ListModel>
        <ObservableListValue items="content:CC_SMPL_001_Edit/商品マスタ一覧" value="商品No" text="英語商品名">
            <text ref="日本語商品名" lang="ja" country="JP"/>
            <text ref="英語商品名" lang="en"/>
        </ObservableListValue>
    </ListModel>
</List>
上から順に判定していき、合致した条件に当てはまるtextタグで指定された項目がListの表示文字列にマッピングされます。
もしtextタグを判定していった結果合致する物が無かった場合は、ObservableListValueタグのtext属性で指定された項目が採用されます。
text属性は省略することも可能ですが、万一当てはまる物が無かった場合のデフォルトとして指定しておくことを推奨します。

ここで指定するtextタグは以下の属性を持ちます。

属性値名 説明 形式 必須/非必須 参照記法可/不可
ref Listに表示する文字列の業務項目名の指定。
カンマ区切りで複数指定可能。
文字列 必須 不可
lang textタグの適用言語圏を指定する。
ISO-639で定義される2桁の小文字で指定すること。
文字列 必須 不可
country textタグの適用国を指定する。
ISO-3166で定義される2桁の大文字で指定すること。
省略可能。省略時は実行環境のcountryに関わらずlanguageが一致すれば適用される。
文字列 非必須 不可
condition textタグの適用追加条件の指定。
言語圏、適用国以外で何か条件がある場合はfilter参照などで条件を記述する。
文字列 非必須

Tableタグの国際化対応

Tableタグでは、各列に対してどの業務項目をマッピングするかをTableColumnタグで指定します。
マッピングする業務項目が必ず固定になる場合は直接ptype属性にその業務項目名を記述しますが、
言語圏、適用国、その他判定条件などによりマッピング対象が代わる場合はloadタグにより対応関係を記述します。
ここがTableタグでの国際化対応のポイントになります。

記述例:日本語商品名はlocale="ja_JP"、英語商品名はlocale="en"に適用とした場合

<Table id="商品一覧テーブル" selectMode="single" selectedRow="content:CC_SMPL_001_Edit/選択商品">
    <TableModel rows="content:CC_SMPL_001_Edit/商品マスタ一覧">
        <TableColumn header="商品コード" ptype="商品コード">
        <TableColumn header="商品名" ptype="英語商品名">
            <load from="row:data/日本語商品名" lang="ja"/>
            <load from="row:data/英語商品名" lang="en"/>
        </TableColumn>
        <TableColumn header="商品価格" ptype="商品価格">
    </TableModel>
</Table>
Tableタグの場合、各列にマッピングする業務項目を切り替えるのは国際化対応のみではないので、他のコンポーネントのようにtextタグではなく特別なloadタグを使用します。
loadタグのfrom属性で指定するのはComboBoxやListのような「項目名」ではなく参照記法による指定となります。

上から順に判定していき、合致した条件に当てはまるloadタグで指定された項目がTable列にマッピングされます。
もしloadタグを判定していった結果合致する物が無かった場合は、TableColumnタグのptype属性で指定された項目が採用されます。
ptype属性は省略することも可能ですが、万一当てはまる物が無かった場合のデフォルトとして指定しておくことを推奨します。

ここで指定するloadタグは以下の属性を持ちます。

属性値名 説明 形式 必須/非必須 参照記法可/不可
from テーブルカラムに割り当てる項目を指定する。
row参照を使用して、行データ中の項目(現象型)を指定したり、固定文字列を指定できる。
文字列 必須
lang loadタグの適用言語圏を指定する。
ISO-639で定義される2桁の小文字で指定すること。
文字列 非必須 不可
country loadタグの適用国を指定する。
ISO-3166で定義される2桁の大文字で指定すること。
省略可能。省略時は実行環境のcountryに関わらずlanguageが一致すれば適用される。
文字列 非必須 不可
condition loadタグの適用追加条件の指定。
言語圏、適用国以外で何か条件がある場合はfilter参照などで条件を記述する。
文字列 非必須


Componentタグ

記述例 :

<Component id="インジケータアイコン" visible="filter:[content:CC_Ward_001_EditList/表示形式モード = 病室絞込]">
    <Font name="MS UI Gothic" style="BOLD" size="15"/>
</Component>

説明 :
共通属性値およびフォント設定のみの制御を行いたい場合に使用することができる、汎用の制御タグです。
対応するGUIコンポーネントは特定していないので、制御タグが用意されていないようなGUI部品であっても、このタグを使用することによって共通属性値による最低限の制御を行うことが可能です。

共通属性値のみでの制御のためのタグなので、固有属性値は持っていません。


Buttonタグ

記述例 :

<Button id="ログインボタン" text="Login" onClick="COMMAND[ログイン]"/>

説明 :
画面上のボタンに対応するコンポーネントタグです。
ボタン上に表示される文字列や、ボタン押下時の動作について指定することが出来ます。

なお、このタグの制御対象として、通常のボタン系部品の他にラベルをベースにしたアイコン系部品も指定できます。
アイコン系部品を指定した場合は、マウスクリックによってボタン押下されたと見なして動作します。
image属性に表示したい画像のURLもしくはバイナリデータを指定することで、
実行時に表示内容が変化する画像の表示コンポーネントとして利用することができます。
image属性での画像の指定形式は以下の4通りになります。

  • 画像データの参照URL文字列
  • 画像データの参照URLオブジェクト(java.net.URL)
  • 画像データのバイナリデータオブジェクト
  • 画像データのクラスパスからのパス名文字列("classpath:/xxx/share/image/xxx.jpg")
なお、このimage属性はJButtonに対してButtonタグを使用している場合のみ有効となります。
JLabelに対して使用している場合はimage属性は無視されます。

固有属性値 :
Buttonタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
text ボタン上に表示させる文字列の指定 文字列 非必須
image 表示したい画像の指定。
ここで指定できるのは以下の4つです。通常は参照記法でContent項目を指定します。
  • 画像データの参照URL文字列
  • 画像データの参照URLオブジェクト(java.net.URL)
  • 画像データのバイナリデータオブジェクト
  • 画像データのクラスパスからのパス名文字列("classpath:/xxx/share/image/xxx.jpg")
文字列 非必須
onClick ボタンがクリックされた時に発行するイベント名の指定
イベント名はあらかじめフレームワーク側で予約されているものと、任意に定義できるものがあります。
詳細は、コンポーネントから送信されるイベントを参考にしてください。
文字列 非必須 不可


LinkMenuタグ

記述例 :

<LinkMenu id="ドメインポータルリンクメニュー" direction="vertical">
    <MenuItem text="支払申請" onClick="COMMAND[支払申請]"/>
    <MenuItem text="支払処理" onClick="COMMAND[支払処理]"/>
    <MenuItem text="仮払処理" onClick="COMMAND[仮払処理]"/>
</LinkMenu>

説明 :
HTMLページのリンクのように見えるメニューコンポーネントの対応タグです。
メニューとして表示される文字列、メニューの並び方向、メニュークリック時の動作などを 指定することが出来ます。

固有属性値 :
LinkMenuタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
direction メニュー項目の並び方向の指定(縦か横) vertical, horizontal 非必須 不可

オプション設定 :
オプション設定のタグとして、MenuItemタグがあります。

MenuItemタグ

メニュー項目一つ一つを表します。このタグは必須となります。
MenuItemタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
text 画面に表示するメニュー項目の文字列指定 文字列 必須
onClick メニュー項目がクリックされた際に発行するイベント名 文字列 必須 不可


TreeMenuタグ

記述例 : ツリーのシングルクリックによるメニュー選択とコマンド実行

<TreeMenu id="支払ツリーメニュー">
    <MenuItem text="会計">
        <MenuItem text="会計その1">
            <MenuItem text="会計その2" onClick="COMMAND[会計その2]"/>
            <MenuItem text="会計その3" onClick="COMMAND[会計その3]"/>
            <MenuItem text="会計その4" onClick="COMMAND[会計その4]"/>
        </MenuItem>
        <MenuItem text="会計その5" onClick="COMMAND[会計その5]"/>
    </MenuItem>
</TreeMenu>

記述例 : ツリーのダブルクリック及びエンターキーによるメニュー選択とコマンド実行

<TreeMenu id="支払ツリーメニュー">
    <MenuItem text="会計">
        <MenuItem text="会計その1">
            <MenuItem text="会計その2" onDoubleClick="COMMAND[会計その2] onEnter="COMMAND[会計その2]"/>
            <MenuItem text="会計その3" onDoubleClick="COMMAND[会計その3] onEnter="COMMAND[会計その3]"/>
            <MenuItem text="会計その4" onDoubleClick="COMMAND[会計その4] onEnter="COMMAND[会計その4]"/>
        </MenuItem>
        <MenuItem text="会計その5" onDoubleClick="COMMAND[会計その5] onClick="COMMAND[会計その5]"/>
    </MenuItem>
</TreeMenu>

記述例 : 初期表示でメニューを全格納し、右クリックメニューも使用する

<TreeMenu id="支払ツリーメニュー" initial="collapse" selectedItem="content:CC_xxx_Menu/選択メニュー">
    <MenuItem text="会計">
        <MenuItem text="会計その1">
            <MenuItem text="会計その2" item="Accounting2" onDoubleClick="COMMAND[会計その2] onEnter="COMMAND[会計その2]"/>
            <MenuItem text="会計その3" item="Accounting3" onDoubleClick="COMMAND[会計その3] onEnter="COMMAND[会計その3]"/>
            <MenuItem text="会計その4" item="Accounting4" onDoubleClick="COMMAND[会計その4] onEnter="COMMAND[会計その4]"/>
        </MenuItem>
        <MenuItem text="会計その5" item="Accounting5" onDoubleClick="COMMAND[会計その5] onClick="COMMAND[会計その5]"/>
    </MenuItem>
    <PopupMenu>
        <MenuItem text="参照" onClick="COMMAND[会計参照]" enabled="filter:[content:CC_xxx_Menu/選択メニュー is not null]"/>
        <MenuItem text="編集" onClick="COMMAND[会計編集]" enabled="filter:[content:CC_xxx_Menu/選択メニュー is not null]"/>
    </PopupMenu>
</TreeMenu>

説明 :
メニューとして使用されるツリーコンポーネントの対応タグです。
基本的にはメニューバーと同じような役割となりますが、ツリーを利用した以下のような機能があります。

[メニュー項目のツリー展開と発行イベントの指定]

MenuItemタグを使用して、メニュー項目をツリー展開することができます。
メニュー項目を一度に見渡せることがメニューバーとの違いです。

末端のメニュー項目には、以下の操作に対する発行イベントを指定することが出来ます。
  • シングルクリック
  • ダブルクリック
  • エンター押下


[ツリーメニュー上での右クリックポップアップメニューの使用]

PopupMenuタグを使用して、ツリー項目の右クリックでポップアップメニューを出すことが出来ます。
この場合、TreeMenuタグのselectedItem属性と、MenuItemタグのitem属性を指定することで、
現在選択中のメニュー項目がどれかをCommand側で判別できるようになり、Command内での処理分岐などが可能になります。


[ツリーの展開、格納に関する制御]

初期表示のツリー展開、格納
ツリーメニューの初期表示で、ツリー中の項目を展開するか拡張するかの指定をすることが出来ます。
initial属性で以下のいずれかの動作を指定してください。指定がない場合は、デフォルトで全展開される動作になります。
  • expand : ツリーを最初からすべて展開します。
  • depth : ツリーを最初からdepth属性で指定された深さまで展開します。
  • collapse: ツリーを最初からすべて格納します。


TreeMenu外部のボタンによる展開、格納
expander属性とcollapser属性で他のボタンコンポーネントのIDを指定することで、ユーザーがそのボタンクリックによってツリーを全展開したり全格納したりすることができるようになります。
Tableコンポーネント全選択チェックボックスと同じような考え方となります。


[ツリー上のメニュー項目の絞り込み]

filter属性で他のテキストフィールドコンポーネントのIDを指定することで、ユーザーがそのフィールドにキーワードを入力することでメニュー項目の絞り込みを行うことが出来るようになります。
絞り込みのキーワードは、
MenuItemタグのtext属性で指定された文字列が対象となります。
こちらもTableコンポーネント全選択チェックボックスと同じような考え方となります。


[ツリー上のメニュー項目の表示・非表示]

MenuItemタグのvisible属性で、各メニュー項目の表示・非表示を制御できます。
メニュー項目自体の最大数はあくまでTreeMenuコンポーネントのタグで記述した内容になるので動的にメニューを増やせるわけではありません。
あくまで、「どのメニュー項目を非表示にするか?」を制御できる機能として認識して下さい。

なお、基本的な制御方法としてはvisible属性にBoolean型のContent項目を割り当てて、そのContent項目にメニューの有効無効を表す値を なんらかの手段で設定するのがシンプルな方法になります。その値の元ネタはメニューマスタを参照してサービスが返しても良いですし、 ローカル環境に保存されているファイルから読み込むと言うことも考えられます。


固有属性値 :
TreeMenuタグの属性値の意味は以下の通り

属性値名 説明 形式 必須/非必須 参照記法可/不可
initial ツリーメニューの初期表示で、ツリーを全展開しておくか全格納しておくかの指定です。
以下のどちらかを指定してください。省略時は"expand"の扱いになります。
  • expand : 初期表示でツリーを全展開
  • depth : 初期表示でdepth属性で指定された深さまでツリーを展開
  • collapse : 初期表示でツリーを全格納
expand,
depth,
collapse
非必須 不可
depth initial属性で"depth"を指定した場合に、初期表示でツリー展開する深さを数字で指定します。
0だと全格納になるのでinitial="collapse"と同じ動きになり、1増える毎に一つずつ初期表示階層が深くなります。
数字 initial="depth"の場合に必須 不可
selectedItem 現在選択されているメニュー選択項目値の保存先を指定します。
基本的には参照記法でContent項目を指定します。
右クリックポップアップメニューから実行されたCommand内で処理を分岐させる場合などに使用します。
文字列 非必須
expander ツリーを全展開するコンポーネント(基本的にボタン)のIDを指定します。
TreeMenuの外側に全展開を行うボタンを用意したい場合に指定します。
文字列 非必須 不可
collapser ツリーを全格納するコンポーネント(基本的にボタン)のIDを指定します。
TreeMenuの外側に全格納を行うボタンを用意したい場合に指定します。
文字列 非必須 不可
filter メニュー項目名をベースにツリーの絞り込みをコンポーネント(基本的にテキストフィールド)のIDを指定します。
TreeMenuの外側にツリー自体を絞り込むキーワードの入力フィールドを用意したい場合に指定します。
文字列 非必須 不可
chckFilterPattern メニュー項目名をベースにツリーの絞り込み時、文字列としての比較対象条件の指定です。
文字列の比較時に全角半角・大文字小文字の違いを区別するかどうかを以下の形式で指定してください。
省略時は"none"の扱いになります。
  • none : 全角半角・大文字小文字の違いを区別する
  • IgnoreZenkaku : 全角半角は区別せず、大文字小文字の違いを区別する
  • IgnoreCase : 全角半角は区別し、大文字小文字の違いを区別しない
  • Ignore : 全角半角・大文字小文字の違いを区別しない
none,
IgnoreZenkaku,
IgnoreCase,
Ignore
非必須 不可

オプション設定 :
オプション設定のタグとして、MenuItemタグがあります。

MenuItemタグ

ツリー中のノード(メニュー項目)一つ一つを表します。このタグは必須となります。
MenuItemタグはネストさせて記述でき、このMenuItemタグのネスト構成がそのままツリーの内容に反映されます。
MenuItemタグによって構成するメニューツリーは、ルートのノードを必ず一つだけ作成する必要があります。 ルートのノードを複数個作成することは出来ません。

MenuItemタグの属性値の意味は以下の通り

属性値名 説明 形式 必須/非必須 参照記法可/不可
text 画面に表示するメニュー項目の文字列指定 文字列 必須
item TreeMenuタグでselectedItem属性が指定されている場合に、選択中ノードに対応する値を指定します。 Command等で、現在選択中のメニュー項目がどれであるかを判別するための情報として利用されます。 文字列 必須 不可
visible メニュー項目の表示非表示を指定します。
参照記法で条件式もしくはBoolean値を指定します。
基本的にはBoolean型のContent項目を参照記法で指定する形になります。省略時は"true"の扱いになります。
true,
false
非必須
onClick メニュー項目がクリックされた際に発行するイベント名
指定されていない場合、そのノードをクリックしても何も起きません
文字列 非必須 不可
onDoubleClick メニュー項目がダブルクリックされた際に発行するイベント名
指定されていない場合、そのノードをダブルクリックしても何も起きません
文字列 非必須 不可
onEnter メニュー項目が選択された状態でエンターキー押下された際に発行するイベント名
指定されていない場合、そのノードでエンターキー押下しても何も起きません
文字列 非必須 不可


Labelタグ

記述例 :

<Label id="今日の日付ラベル" text="calendar:TODAY"
        translator="date" alignment="center"/>

説明 :
文字列の表示を行うラベルコンポーネントの対応タグです。
表示する文字列の指定や、右寄せ左寄せ等の表示位置の指定などが出来ます。

また、image属性に表示したい画像のURLもしくはバイナリデータを指定することで、
実行時に表示内容が変化する画像の表示コンポーネントとして利用することができます。
image属性での画像の指定形式は以下の4通りになります。

  • 画像データの参照URL文字列
  • 画像データの参照URLオブジェクト(java.net.URL)
  • 画像データのバイナリデータオブジェクト
  • 画像データのクラスパスからのパス名文字列("classpath:/xxx/share/image/xxx.jpg")
なお、このimage属性はJLabelに対してLabelタグを使用している場合のみ有効となります。
JTextFieldに対して使用している場合はimage属性は無視されます。

なお、このコンポーネントタグは 条件付きトランスレータ"および Componentの国際化対応に対応しています。

固有属性値 :
Labelタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
text 画面に表示する文字列の指定。 文字列 必須
translator 表示内容のトランスレータの指定。
省略された場合はdefaultが適用される。
文字列 非必須 不可
alignment 文字列の水平方向の表示位置の指定。
省略された場合は、値の型に応じてデフォルトが決定される。
left,
center,
right
非必須 不可
image 表示したい画像の指定。
ここで指定できるのは以下の4つです。通常は参照記法でContent項目を指定します。
  • 画像データの参照URL文字列
  • 画像データの参照URLオブジェクト(java.net.URL)
  • 画像データのバイナリデータオブジェクト
  • 画像データのクラスパスからのパス名文字列("classpath:/xxx/share/image/xxx.jpg")
文字列 非必須
imagefit 表示したい画像の表示エリアサイズとのフィッティング指定。
表示イメージサイズと表示ラブルエリアサイズが違っている時に
イメージを拡大縮小する方法を指定します。
  • width : ラベル表示エリア幅を基準にイメージ表示サイズの調節を行う。
  • height: ラベル表示エリア高さを基準にイメージ表示サイズの調節を行う。
  • both : ラベル表示エリア幅高さを基準にイメージ表示サイズの調節を行う。
  • off : イメージ表示サイズの調節を行わない。
Defaultはoffです。
width,
height,
both,
off
非必須
プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.Label.DisabledForeground ラベルのDisable時の文字色指定
VirtualComponent.Label.DisabledBackground ラベルのDisable時の背景色指定


TextFieldタグ

記述例 : 半角文字のみ入力可、30バイトまで入力可、常にセンタリングされる

<TextField id="半角文字列テキストフィールド" document="half"
    text="content:CC_XXX_001_Config/ユーザーコード"
	size="30" alignment="center"/>
記述例 : 日付のみ入力可
<TextField id="日付テキストフィールド" document="date"
    text="content:CC_XXX_001_Config/入力日付" />
記述例 : 数値のみ入力可、整数部の桁が10桁、小数部の桁が4桁、3桁毎にカンマ区切り
<TextField id="数値テキストフィールド" document="decimal"
    text="content:CC_XXX_001_Config/倍率" >
    <DecimalDocument intDigit="10" fructionDigit="4" groupping="true"/>
</TextField>

説明 :
改行のない文字列の入力を受けるテキストフィールドに対応する制御タグです。
入力テキストの設定先、取り扱う内容の種別、水平方向の配置位置、入力可能サイズ等の指定ができます。

リッチクライアントでは、document属性で指定された種別に応じて、入力できる文字の制限を行ったり、入力後の自動フォーマットを行うことが出来ます。 plain, full, katakana, half, halfdefなら文字の全角や半角についての制御となり、decimalの場合は数値のみ、date, datetime, yearmonth, time,datetime_sec,datetime_msecは日付、時刻系の制御になります。

documentがplain, full, katakana, half, halfdefの場合は入力可能文字数を制限することが可能です。
以下の2通りの指定があります。

  • 文字列のバイトサイズ指定 : size属性にて入力可能バイトサイズを指定します。全角文字2バイト、半角文字1バイトと見なされます。
  • 文字列の文字数指定 : length属性にて入力可能文字数を指定します。全角文字でも半角文字でも1文字と見なされます。
もし双方の指定がある場合は、まずsize属性でのチェックが行われて、次にlength属性でのチェックが行われます。
どちらの方法をとるかは各プロジェクト毎での方針となります。プロジェクト内では基本的に統一してください。
もしDBでUTF-8を使用しているとlength属性による文字数でのチェックをしないと桁あふれが発生する可能性が高くなります。

なお、document="time"を指定する場合に注意する必要があるのが、TextFieldに結びつくContent項目の型がjava.util.Dateとなっている場合、 時分については入力されたとおりになりますが、年月日は強制的に1970/01/01になるという点です。そのため、timeを使用するのは時刻のみを取り扱いたい場合に限ります。 もし日付も同時に扱いたい場合はdocument="datetime"を指定することになります。

また、入力制限を行うためのHelperクラスを作成して、それをdocument属性で指定することも可能です。
DocumentのHelperクラスについてはこちらを参照して下さい。

フォーカスがテキストフィールドに当たったタイミングで、以下の制御が自動で行われるようになります。
  • 文字列が全選択状態になる。
  • documentが"half","decimal", "date", "datetime", "yearmonth", "time", "datetime_sec", "datetime_msec"の場合、WindowsのIMEが自動でOFF固定になる。
  • documentが"full"の場合、詳細オプションが無ければWindowsのIMEが自動で日本語モードになる。その後ユーザー操作でON/OFFできる。
  • documentが"halfdef"の場合、WindowsのIMEが自動でOFFになる。その後ユーザー操作でON/OFFできる。
  • documentが"katakana"の場合、WindowsのIMEが自動で全角カタカナモードになる。その後ユーザー操作でON/OFFできる。

なお、このコンポーネントタグは Componentの国際化対応に対応しています。

固有属性値 :
TextFieldの固有属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
text テキストフィールドで取り扱う項目の指定。
通常は参照記法でコンテント項目を指定する。
文字列 必須
ghost テキストフィールドの値がnullの場合に、薄い文字色で表示するゴーストテキストの指定。
ここで指定された表示内容は、以下の条件に当てはまる場合にテキストフィールド上に表示される。
  • 可視状態であること
  • 有効状態であること
  • フォーカスが当たっていないこと
  • 現在の値がnullであること
この属性で表示内容を直接記述するか、参照記法で指定してください。
文字列 非必須
document テキストフィールドで取り扱う内容の種別指定。
ここで指定した内容に応じて入力制限や自動フォーマットが行われる。

  • plain : 制限なしの自由入力。IME制御は無し。
  • full : 制限なしの自由入力。IME制御で日本語入力が自動でONになる。詳細オプションでデフォルト指定を変更可。
  • katakana : 全角カタカナのみ入力可。IME制御で全角カタカナモードになる。
  • halfdef : 制限なしの自由入力。IME制御で日本語入力が自動でOFFになる。
  • half : 半角文字のみ入力可。
  • decimal : 数値のみ入力可。
  • date : 日付のみ入力可。
  • datetime : 日付及び時分のみ入力可。
  • datetime_sec : 日付及び時分秒のみ入力可。
  • datetime_msec : 日付及び時分秒・ミリ秒入力可。
  • yearmonth : 年月のみ入力可。
  • time : 時刻のみ入力可。
省略された場合、text属性で指定された項目の型に応じて自動で割り当てられる。
また、上記以外にも独自に作成したDocumentのHelperクラスに割り当てた名前を指定することも出来る。
plain,
full,
katakana,
halfdef,
half,
decimal,
date,
datetime,
datetime_sec,
datetime_msec,
yearmonth,
time
非必須 不可
alignment 文字列の水平方向の表示位置の指定。
省略された場合は、値の型に応じてデフォルトが決定される。
left,
center,
right
非必須 不可
size 入力可能な文字列のサイズ指定。
文字数ではなく、バイトで指定する。指定がない場合は入力文字数の制限はしない。
数値 非必須 不可
length 入力可能な文字数の指定。
バイトではなく、文字数で指定する。全角でも半角でも1文字とみなす。指定がない場合は入力文字数の制限はしない。
数値 非必須 不可
onEnter TextField上で入力値を変更してEnterキー入力されたタイミングで発行するイベントの指定。
共通属性値のonChangeと違うのは、フォーカス移動による入力確定には反応しない点です。
文字列 非必須 不可
onEnterForced TextField上でEnterキー入力されたタイミングで強制的に発行するイベントの指定。
onEnterと違い、入力値の変化があっても無くてもイベント発行が強制的に行われます。
文字列 非必須 不可
onDoubleClick TextField上でダブルクリックされたタイミングで発行するイベントの指定。 文字列 非必須 不可
editable 編集可、不可を指定する属性値です。
この属性値がtrueの場合は、テキスト編集を行うことが出来ます。falseの場合は編集が出来なくなります。
その場合のコンポーネントでの表示の変化はenabled属性でfalseとなった場合ほど明確なものではありません。
true,
false
非必須

オプション設定 :
document属性で指定した種別によっては、子タグでオプション設定を行える物もあります。
現状では"full"と"decimal"の場合にオプション設定があります。

FullDocumentタグ

document属性が"full"の場合に指定できるオプション設定です。
以下のような細かい動作を指定することが出来ます。

  • 半角ラテン文字のON/OFF
  • 半角カナ文字のON/OFF
  • 全角ラテン文字のON/OFF
  • 全角カナ文字のON/OFF
  • IMEのデフォルト指定
それぞれの文字のON/OFFについては、省略された場合はON(入力制限無し)と見なす。
FullDocumentタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
half_latin 半角ラテン文字(英数字)の入力可・不可指定。
省略された場合は制限されない。
on,
off
非必須
half_kana 半角カタカナ文字の入力可・不可指定。
省略された場合は制限されない。
on,
off
非必須
full_latin 全角ラテン文字(英数字)の入力可・不可指定。
省略された場合は制限されない。
on,
off
非必須
full_kana 全角カタカナ文字の入力可・不可指定。
省略された場合は制限されない。
on,
off
非必須
imdef TextFieldにフォーカスが当たった際のIME制御の指定。
省略された場合は通常の日本語入力モードとなる。
  • half_latin : 半角英数字入力モード
  • half_kana : 半角カタカナ入力モード
  • full_latin : 全角英数字入力モード
  • full_kana : 全角カタカナ入力モード
  • full_kanji : 通常の日本語入力モード(デフォルト)
half_latin,
half_kana,
full_latin,
full_kana,
full_kanji
非必須 不可

DecimalDocumentタグ

document属性が"decimal"の場合に指定できるオプション設定です。
取り扱う数値の整数部分の桁数、小数点以下の桁数、3桁毎のカンマ区切りの有無、符号の指定が出来ます。

DecimalDocumentタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
intDigit 整数部分の桁数指定。
省略された場合は制限されない。
数値 非必須 不可
fructionDigit 小数部分の桁数指定。
省略された場合は3桁となる。
adjustByScale="true"の場合は、この属性は無視される。
数値 非必須 不可
groupping 3桁ずつのカンマ区切りを行うかの指定。
省略された場合はデフォルトでtrueとなる。
true,
false
非必須
sign 数値の正負符号の指定。以下を指定できる。
  • both : 正負の両方が入力可
  • positive : 正の数だけ入力可
  • negative : 負の数だけ入力可。自動で-(マイナス)符号が付与される
省略時はデフォルトで"both"になる。
both,
positive,
negative
非必須
adjustByScale BigDecimal値のscaleに従って小数点以下の表示と入力を制限する指定。
trueを指定した場合、例えばscale=2となっている"100.1"というBigDecimal値は、
"100.10"という表示に置き換わるようになる。
省略時はデフォルトで"false"になる。
true,
false
非必須

プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.TextField.DisabledForeground テキストフィールドのDisable時の文字色指定
VirtualComponent.TextField.DisabledBackground テキストフィールドのDisable時の背景色指定
VirtualComponent.TextField.RequiredBackground テキストフィールドの必須入力時背景色


TextAreaタグ

記述例 :

<TextArea id="コメント入力テキストエリア" size="100"
    text="content:CC_XXX_001_Edit/申請コメント"/>

説明 :
文章の入力を受け付ける、テキストエリアに対応する制御タグです。
取り扱う項目の指定や、入力する文字列のサイズ指定などが出来ます。

リッチクライアントでは、document属性で指定された種別に応じて、入力できる文字の制限を行ったり、入力後の自動フォーマットを行うことが出来ます。 plain, full, katakana, halfなら文字の全角や半角についての制御となります。

documentがplain, full, katakana, halfの場合は入力可能文字数を制限することが可能です。
以下の2通りの指定があります。

  • 文字列のバイトサイズ指定 : size属性にて入力可能バイトサイズを指定します。全角文字2バイト、半角文字1バイトと見なされます。
  • 文字列の文字数指定 : length属性にて入力可能文字数を指定します。全角文字でも半角文字でも1文字と見なされます。
もし双方の指定がある場合は、まずsize属性でのチェックが行われて、次にlength属性でのチェックが行われます。

なお、このコンポーネントタグは Componentの国際化対応に対応しています。

固有属性値 :
TextAreaタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
document テキストエリアで取り扱う内容の種別指定。
ここで指定した内容に応じて入力制限や自動フォーマットが行われる。

  • plain : 制限なしの自由入力。IME制御は無し。
  • full : 全角文字が入力可。plainとほぼ同一だが、IME制御で日本語入力がONになる。
  • katakana : 全角カタカナのみ入力可。IME制御で全角カタカナ入力モードになる。
  • half : 半角文字のみ入力可。
省略された場合、plainが自動で割り当てられる。
また、上記以外にも独自に作成したDocumentのHelperクラスに割り当てた名前を指定することも出来る。
plain,
full,
katakana,
half
非必須 不可
text テキストエリアで取り扱う項目の指定。
通常は参照記法でコンテント項目を指定する。
文字列 必須
ghost テキストエリアの値がnullの場合に、薄い文字色で表示するゴーストテキストの指定。
ここで指定された表示内容は、以下の条件に当てはまる場合にテキストエリア上に表示される。
  • 可視状態であること
  • 有効状態であること
  • フォーカスが当たっていないこと
  • 現在の値がnullであること
この属性で表示内容を直接記述するか、参照記法で指定してください。
文字列 非必須
size 入力可能な文字列のサイズ指定。
文字数ではなく、バイトで指定する。指定がない場合は入力文字数の制限はしない。
数値 非必須 不可
length 入力可能な文字数の指定。
バイトではなく、文字数で指定する。全角でも半角でも1文字とみなす。指定がない場合は入力文字数の制限はしない。
数値 非必須 不可
tabTyped タブキー押下時の動作の指定。以下が指定できる。
  • input : タブをテキストエリア中の文章に挿入する
  • focus : フォーカス移動を行う
省略時はデフォルトでfocusになる。
input,
focus
非必須 不可
editable 編集可、不可を指定する属性値です。
この属性値がtrueの場合は、テキスト編集を行うことが出来ます。falseの場合は編集が出来なくなります。
その場合のコンポーネントでの表示の変化はenabled属性でfalseとなった場合ほど明確なものではありません。
true,
false
非必須

オプション設定 :
document属性で指定した種別によっては、子タグでオプション設定を行える物もあります。
現状では"full"の場合にオプション設定があります。

FullDocumentタグ

document属性が"full"の場合に指定できるオプション設定です。
以下のような細かい動作を指定することが出来ます。

  • 半角ラテン文字のON/OFF
  • 半角カナ文字のON/OFF
  • 全角ラテン文字のON/OFF
  • 全角カナ文字のON/OFF
  • IMEのデフォルト指定
それぞれの文字のON/OFFについては、省略された場合はON(入力制限無し)と見なす。
FullDocumentタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
half_latin 半角ラテン文字(英数字)の入力可・不可指定。
省略された場合は制限されない。
on,
off
非必須
half_kana 半角カタカナ文字の入力可・不可指定。
省略された場合は制限されない。
on,
off
非必須
full_latin 全角ラテン文字(英数字)の入力可・不可指定。
省略された場合は制限されない。
on,
off
非必須
full_kana 全角カタカナ文字の入力可・不可指定。
省略された場合は制限されない。
on,
off
非必須
imdef TextFieldにフォーカスが当たった際のIME制御の指定。
省略された場合は通常の日本語入力モードとなる。
  • half_latin : 半角英数字入力モード
  • half_kana : 半角カタカナ入力モード
  • full_latin : 全角英数字入力モード
  • full_kana : 全角カタカナ入力モード
  • full_kanji : 通常の日本語入力モード(デフォルト)
half_latin,
half_kana,
full_latin,
full_kana,
full_kanji
非必須 不可

プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.TextArea.DisabledForeground テキストエリアのDisable時の文字色指定
VirtualComponent.TextArea.DisabledBackground テキストエリアのDisable時の背景色指定
VirtualComponent.TextArea.RequiredBackground テキストエリアの必須入力時背景色


ComboBoxタグ

記述例 : マスタ等の検索結果に含まれる項目を選択肢にする場合

<ComboBox id="会社選択コンボボックス"
    selectedItem="content:CC_XXX_001_Edit/会社">
    <ComboBoxModel>
        <ObservableComboValue items="content:CC_XXX_001_Edit/会社一覧"
            value="会社No" text="会社名"/>
    </ComboBoxModel>
</ComboBox>
記述例 : データモデルの内容を選択肢として、選択値自体もデータモデルにする場合
<ComboBox id="会社選択コンボボックス"
    selectedSource="content:CC_XXX_001_Edit/会社">
    <ComboBoxModel>
        <ObservableComboValue items="content:CC_XXX_001_Edit/会社一覧"
            translator="会社選択一覧"/>
    </ComboBoxModel>
</ComboBox>
記述例 : 現象の区分値を選択肢にする場合
<ComboBox id="申請種別コンボボックス"
    selectedItem="content:CC_XXX_001_Edit/申請種別">
    <ComboBoxModel>
        <PhenomenonComboValue items="ptype:申請種別/definedValues"/>
    </ComboBoxModel>
</ComboBox>
記述例 : 任意の値を選択肢にする場合
<ComboBox id="申請種別コンボボックス"
    selectedItem="content:CC_XXX_001_Edit/申請種別">
    <ComboBoxModel>
        <StaticComboValue value="ptype:申請種別/仮払申請書"/>
        <StaticComboValue value="ptype:申請種別/交通費精算書"/>
    </ComboBoxModel>
</ComboBox>
記述例 : オブジェクト配列やリストを選択肢にする場合
<ComboBox id="申請種別コンボボックス"
    selectedItem="content:CC_XXX_001_Edit/申請種別">
    <ComboBoxModel>
        <ObjectComboValue items="content:CC_XXX_001_Edit/申請種別リスト"/>
    </ComboBoxModel>
</ComboBox>

説明 :
コンボボックスに対応する制御タグです。
選択した値の設定先や、選択肢の内容に関する設定が出来ます。

コンボボックスコンポーネントは、選択肢の中から値を一つ選択することができるコンポーネントです。
そのため、取り扱う値は必ず単数値となります。

このタグで制御されるコンボボックスでは、デフォルトで先頭に"未選択"を表す要素(選択値がnullであることを表す)が選択肢リスト中に含まれます。
"未選択"要素の表示文字列はnotSelected属性で個別に変更することも出来ますし、プロパティファイルでアプリケーション全体で変更することも出来ます。
また、includeNotSelected属性でこの"未選択"要素を選択肢リスト中から外すことも可能ですが、一般的な用途では外すことは推奨されません。
詳細は後述のincludeNotSelected属性の説明を参照して下さい。

なお、このコンポーネントタグは Componentの国際化対応に対応しています。

固有属性値 :
ComboBoxタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
selectedItem 初期表示値及び、選択した値の設定先の指定。
通常は参照記法でコンテント項目を指定する。
文字列 必須
selectedSource コンボボックス上で選択された項目が結びつくデータモデルの設定先の指定。
ObservableComboValueオプションを指定している場合に使用できる。
コンボボックスによる選択が、データモデル中の複数項目の選択を表す場合(Noおよび何らかのフラグなど)に使用する。
通常は参照記法でコンテント項目を指定する。項目のタイプは"model"である必要があります
文字列 必須
notSelected 未選択を表す要素(値はnull)の表示文字列の指定。
省略された場合は、プラグインプロパティで設定されている文字列が表示される。
文字列 非必須 不可
includeNotSelected 未選択を表す要素(値はnull)を選択肢リストに含めるかどうかの指定。
trueなら選択肢リストに含めて、falseなら含めない。省略された場合は、trueとして扱われる。

!!!注意!!!
この属性は、以下の条件に当てはまるような特殊なケースでのみ使用して下さい。
  • 外部から初期値の指定がされない(=常に先頭項目を初期値にする)
  • 選択値が一瞬でもnullになることが許されない
データ編集画面での入力項目用に使用するような場合は、例えそれが必須入力項目であったとしてもfalseに設定すべきではありません。 編集画面では、更新モードや参照モード時に初期値が与えられうることがほとんどであるためです。
また、基本的にこの属性値で"false"を指定した場合、後述のinitByFirst属性で"true"と指定しないと予期しない動作となるケースがほとんどです。
true,
false
非必須
initByFirst includeNotSelected="false"の場合のみ有効になる設定で、初期値を必ず選択肢リスト中の先頭項目とするかの指定です。 trueと指定すれば先頭項目が初期値となり、falseと指定されれば外部から必ず初期値が与えられると見なして通常の動作となります。
省略した場合は"false"として扱われます。
true,
false
非必須
onEnter ComboBox上で入力値を変更してEnterキー入力されたタイミングで発行するイベントの指定。
共通属性値のonChangeと違うのは、ComboBox上のプルダウンメニューをカーソル上下キーで 選択操作している時点では反応せず、プルダウンメニューがEnterキー入力などで非表示になるタイミングでのイベント発行になる点です。
文字列 非必須 不可
listWrap ComboBoxクリック時に展開される選択肢のリストを横方向に折り返すかの指定です。
"on"にした場合、後述のwrapRowCount属性で指定された行数まで選択肢があったら横方向に列展開します。
"off"にした場合、選択肢は縦1列でのみ展開し、数が多い場合はスクロールバーを出します。
省略時は"off"が指定された物と見なします。
on,
off
非必須(省略時はoff扱い) 不可
wrapRowCount listWrap属性で"on"が指定された場合、選択肢の何行目から横方向に列展開するかを指定します。
省略時は"30"が指定された物と見なします。
数値 非必須(省略時は30となる) 不可
listRowCount listWrap属性で"off"が指定された場合、選択肢リストの一覧表示件数を指定します。
省略時の表示件数は不定です。
数値 非必須 不可
onDoubleClick ComboBoxのTextField上でダブルクリックされたタイミングで発行するイベントの指定。 文字列 非必須 不可

オプション設定 :
必須のオプション設定として、ComboBoxModelがあります。

ComboBoxModelタグ

コンボボックスの選択肢に関する設定をする必須オプションです。
マスタ等のデータモデルから選択肢を作成する場合、現象の区分値一覧から作成する場合、 固定値を直接指定して作成する場合などでそれぞれ子タグが用意されています。

ObservableComboValue
マスタ等のデータモデルから選択肢を作成する場合に、ComboBoxModelタグの子タグとして指定します。 ComboBoxコンポーネントに表示する選択肢の文字列は、以下のどちらかの方法で指定できます。

  • データモデル中の特定の現象型名を表示項目として指定する。この場合はtext属性が必須となる。
  • データモデルに対してModelTranslatorをtranslator属性で指定することで表示文字列に変換する。 この場合はtext属性は記述しない。
属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
items 選択肢の元データとなる、データモデルのリストを指定します。
通常は参照記法でコンテント項目を指定する。項目のタイプは"models"である必要があります。
文字列 必須
value データモデル中のどの現象型をこのコンボボックスでの選択値として扱うかを指定します。
対象のデータモデル中に含まれる現象型ならその名称を指定し、No等を経由してマスタから対象を取得したい場合はパスで指定して下さい。
文字列 必須 不可
text データモデル中のどの現象型をこのコンボボックスの選択肢の文字列として扱うかを指定します。
対象のデータモデル中に含まれる現象型ならその名称を指定し、No等を経由してマスタから対象を取得したい場合はパスで指定して下さい。
また、複数項目を連結してコンボボックスの選択肢文字列にしたい場合は、カンマ区切りで複数項目を指定することが可能です。
特定のフォーマットに従ってモデルの内容全体から表示文字列を作成する場合は、text属性の代わりにtranslator属性でModelTranslatorを指定します。
文字列 必須 不可
separator コンボボックス選択肢の文字列を作成する際の連結文字列をここで指定できます。
text属性でカンマ区切りで複数個の表示項目が指定された場合に、ここで指定された文字で連結されて一つの表示文字列が作成されます。
省略された場合はデフォルトでコロン(':')で表示項目が連結されてコンボボックス中に表示されます。
文字列 非必須
translator モデルの内容そのものを元に表示文字列を作成する場合に指定します。 文字列 非必須 不可

PhenomenonComboValue
現象の区分値一覧から選択肢を作成する場合に、ComboBoxModelタグの子タグとして指定します。 属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
items 選択肢の元データとなる、現象の区分値一覧を指定します。 通常は参照記法で現象型からの区分値一覧を指定します。 文字列 必須
translator コンボボックス中の選択肢文字列を作成する際のトランスレータを指定します。
省略された場合は"default"が適用されます。
文字列 非必須 不可

StaticComboValue
任意の値を指定して選択肢を作成する場合に、ComboBoxModelタグの子タグとして指定します。 必要な分だけ列挙してください。属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
value 選択肢に対応する値を設定します。
固定文字列か、参照記法による任意の値を指定します。
文字列 必須
text コンボボックス中の選択肢文字列を直接指定したい場合に設定します。
この属性値が設定された場合はtranslator属性は無効になります。
文字列 非必須
translator コンボボックス中の選択肢文字列を作成する際のトランスレータを指定します。
省略された場合は"default"が適用されます。
文字列 非必須 不可

ObjectComboValue
オブジェクト配列やListを元に選択肢を作成する場合に、ComboBoxModelタグの子タグとして指定します。 属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
items 選択肢の元データとなる、オブジェクトの配列もしくはリストを指定します。 通常は参照記法でコンテント項目を指定する。項目のタイプは"values"である必要があります。 文字列 必須
translator コンボボックス中の選択肢文字列を作成する際のトランスレータを指定します。
省略された場合は"default"が適用されます。
文字列 非必須 不可

プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.ComboBox.NotSelected コンボボックスの未選択状態で表示する文字列のデフォルト設定
VirtualComponent.ComboBox.DisabledForeground コンボボックスのDisable時の文字色指定
VirtualComponent.ComboBox.DisabledBackground コンボボックスのDisable時の背景色指定
VirtualComponent.ComboBox.EnabledBackground コンボボックスのEnabled時の背景色指定
VirtualComponent.ComboBox.RequiredBackground コンボボックスの必須入力時背景色


CheckBoxタグ

記述例 : ONとOFFの両方に値を割り当てる場合

<CheckBox id="削除チェックボックス"
    checkedItem="content:CC_XXX_001_Edit/削除フラグ"
    on="ptype:削除区分/削除" off="ptype:削除区分/未削除"/>

記述例 : ONのみに値を割り当てて、OFFはnullにする場合
<CheckBox id="削除チェックボックス"
    checkedItem="content:CC_XXX_001_Edit/削除フラグ"
    on="ptype:削除区分/削除"/>

説明 :
チェックボックスに対応する制御タグです。
チェック状態の値の設定先や、on/off時に対応する値の指定が出来ます。

なお、on/off両方の指定がある場合にcheckedItem属性で指定された値がnullの場合はエラーとなります。
off属性の指定が無い(=off時はnull)場合はnull可となります。

固有属性値 :
CheckBoxタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
text チェックボックスの横に表示する文字列の指定。 文字列 非必須
checkedItem チェックボックスで取り扱う項目の指定。
通常は参照記法でコンテント項目を指定する。
文字列 必須
on チェックボックスでチェックされている場合の値の指定。
通常は参照記法で現象の区分値を指定する。
文字列 必須
off チェックボックスでチェックされていない場合の値の指定。
指定しない場合は、チェックボックスがオフの場合に値がnullになる。
通常は参照記法で現象の区分値を指定する。
文字列 非必須
プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.Table.CheckBoxColumnHeader チェックボックスカラムのヘッダ表示名のデフォルト


Tableタグ

記述例 : 単一行だけ選択できる会社一覧テーブル

<Table id="テーブル" selectMode="single"
    selectedRow="content:CC_XXX_001_EditList/選択会社"
    onClick="一覧選択" onDoubleClick="一覧ダブルクリック"
    <TableModel rows="content:CC_TEST_Component_EditList/会社一覧">
        <TableColumn header="会社No" ptype="会社No" alignment="right" width="100"/>
        <TableColumn header="会社コード" ptype="会社コード" alignment="center"/>
        <TableColumn header="会社名" ptype="会社名" alignment="center" width="300"/>
        <TableColumn header="会社名カナ" ptype="会社名カナ"/>
    </TableModel>
</Table>

記述例 : 複数行選択可能な会社一覧テーブル(一般的な操作方法による複数行選択)

<Table id="テーブル" selectMode="multiple" multiSelectStyle="selection"
    selectedRow="content:CC_XXX_001_EditList/選択会社"
    multiSelectedRows="content:CC_XXX_001_EditList/複数選択会社"
    onClick="一覧選択" onDoubleClick="一覧ダブルクリック"
    allRowSelector="全選択チェックボックス">
    <TableModel rows="content:CC_TEST_Component_EditList/会社一覧">
        <TableColumn header="会社No" ptype="会社No" alignment="right" width="100"/>
        <TableColumn header="会社コード" ptype="会社コード" alignment="center"/>
        <TableColumn header="会社名" ptype="会社名" alignment="center" width="300"/>
        <TableColumn header="会社名カナ" ptype="会社名カナ"/>
    </TableModel>
</Table>

記述例 : 複数行選択可能な会社一覧テーブル(チェックボックス列による複数行選択)

<Table id="テーブル" selectMode="multiple" multiSelectStyle="check"
    selectedRow="content:CC_XXX_001_EditList/選択会社"
    multiSelectedRows="content:CC_XXX_001_EditList/複数選択会社"
    onClick="一覧選択" onDoubleClick="一覧ダブルクリック"
    allRowSelector="全選択チェックボックス">
    <TableModel rows="content:CC_TEST_Component_EditList/会社一覧">
        <CheckBoxColumn header="選択" width="20"/>
        <TableColumn header="会社No" ptype="会社No" alignment="right" width="100"/>
        <TableColumn header="会社コード" ptype="会社コード" alignment="center"/>
        <TableColumn header="会社名" ptype="会社名" alignment="center" width="300"/>
        <TableColumn header="会社名カナ" ptype="会社名カナ"/>
    </TableModel>
</Table>

記述例 : "選択"チェックボックスおよび"更新日時"カラムに表示する値を条件付で制御する

<Table id="テーブル" selectMode="multiple" multiSelectStyle="check"
    selectedRow="content:CC_XXX_001_EditList/選択会社"
    multiSelectedRows="content:CC_XXX_001_EditList/複数選択会社"
    onClick="一覧選択" onDoubleClick="一覧ダブルクリック"
    allRowSelector="全選択チェックボックス">
    <TableModel rows="content:CC_TEST_Component_EditList/会社一覧">
        <CheckBoxColumn header="選択" width="20" selectable="filter:[row:data/RemovedFlag = NOT_REMOVED]"/>
        <TableColumn header="会社No" ptype="会社No" alignment="right" width="100"/>
        <TableColumn header="会社コード" ptype="会社コード" alignment="center"/>
        <TableColumn header="会社名" ptype="会社名" alignment="center" width="300"/>
        <TableColumn header="会社名カナ" ptype="会社名カナ"/>
        <TableColumn header="更新日時" ptype="最終更新日時">
            <load from="row:data/削除日時" condition="filter:[data/RemovedFlag = REMOVED]"/>
        </TableColumn>
    </TableModel>
</Table>

説明 :
テーブルに対応する制御タグです。
このタグによって、画面上のテーブルで以下の機能が使えるようになります。

なお、このコンポーネントタグは 条件付きトランスレータ"および Componentの国際化対応に対応しています。

固有属性値 :
Tableタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
selectMode テーブル上での選択モードの指定。
1行選択、複数行選択、選択不可を指定できる。
なお、selectStyle="cell"の場合はmultipleは指定不可。 デフォルトは"none"
single,
multiple,
none
非必須 不可
selectStyle テーブルの選択スタイルの指定。
行選択を行うのか、列選択を行うのか、セル選択を行うのかが指定できる。
デフォルトは"row"
row,
column,
cell
非必須 不可
multiSelectStyle selectMode="multiple"の場合に、複数行選択を行う際の操作スタイルを指定します。
checkの場合は一番左にチェックボックス列が追加されて、そこをチェックすることによって複数行選択を行います。
selectionの場合は一般的なアプリケーションと同じようにCtrlキーやマウスドラッグによって複数行選択を行います。
デフォルトは"check"です。
check,
selection
非必須 不可
selectedIndex この属性はObsoleteになりました。
代わりにselectedRowIndexを使用してください。
文字列 非必須
selectedRowIndex selectStyle="row"の場合に、テーブル上で選択した行のインデックスの設定先を指定する。
インデックスはjava.lang.Integerで設定される。
文字列 非必須
selectedColumnIndex selectStyle="column"の場合に、テーブル上で選択した列のインデックスの設定先を指定する。
インデックスはjava.lang.Integerで設定される。
文字列 非必須
multiSelectedRowIndexs selectStyle="row"かつselectMode="multiple"の場合に、テーブル上で複数選択した行のインデックスリストの設定先を指定する。
インデックスリストにはjava.lang.Integerが格納されて設定される。
文字列 非必須
multiSelectedColumnIndexs selectStyle="column"かつselectMode="multiple"の場合に、テーブル上で複数選択した列のインデックスリストの設定先を指定する。
インデックスリストにはjava.lang.Integerが格納されて設定される。
文字列 非必須
selectedCell テーブル上で選択したセルの内容を表すオブジェクトの設定先を指定する。
セルの内容はdataSource="observable"の場合は現象型の値、dataSource="tablemodel"の場合は任意のオブジェクトとなる。
文字列 非必須
selectedRow テーブル上で選択したレコードの内容を表すオブジェクトの設定先を指定する。
レコードの内容はdataSource="observable"の場合はデータモデル、dataSource="tablemodel"の場合はjava.util.Listとなる。
文字列 非必須
multiSelectedRows selectModeが"multiple"の場合に、テーブル上で複数選択したレコードの内容を表すオブジェクトListの設定先を指定する。
レコードListの内容はdataSource="observable"の場合はデータモデル、dataSource="tablemodel"の場合はjava.util.Listを格納したjava.util.Listとなる。
文字列 非必須
onClick レコードを選択した際に送信するイベント名の指定。
レコード選択時は、まず内部で自動的に"入力"イベントが送信された後、ここで指定されたイベントが続けて送信されます。
指定されなかった場合は、レコード選択時は"入力"イベントのみ送信されます。
詳細は、コンポーネントから送信されるイベントを参考にしてください。
文字列 非必須 不可
onDoubleClick レコードをマウスでダブルクリックした際に送信するイベント名の指定。
詳細は、コンポーネントから送信されるイベントを参考にしてください。
文字列 非必須 不可
onEnter Tableにフォーカスがあたっている状態でEnterキー入力された際に送信するイベント名の指定
詳細は、コンポーネントから送信されるイベントを参考にしてください。
文字列 非必須 不可
allRowSelector selectMode="multiple"の場合に、全行の一括選択、一括解除を行うチェックボックスを 設ける場合に、そのチェックボックスのnameプロパティ値を指定します。 文字列 非必須 不可
dataSource テーブルに表示するデータの種別を指定します。
データモデル(observable)か、テーブルモデル(tablemodel)になります。
省略時は、デフォルトでobservableとなります。
observable,
tablemodel
非必須 不可
oddRowPaint 奇数行のレコードを着色する(true)かしないか(false)を指定することが出来ます。
省略時の扱いは、プロパティファイルでプロジェクト毎に指定することが出来ます。
特に指定がなければデフォルトはtrueになります。
true,
false
非必須
selectionPaint 選択状態(チェックボックスによる選択を除く)のセルを着色する(true)かしないか(false)を指定することが出来ます。
省略時の扱いは、プロパティファイルでプロジェクト毎に指定することが出来ます。
特に指定がなければデフォルトはtrueになります。
true,
false
非必須
columnFixed カラムが固定されているか(true)、動的に変化するか(false)を指定します。
省略時は、デフォルトでtrueとなります。
true,
false
非必須
translator デフォルトで適用するトランスレータを指定します。
TableColumnタグによる個別の指定が無い場合に適用されます。
文字列 非必須 不可
columnWidth デフォルトで適用するカラム幅を指定します。
TableColumnタグによる個別の指定が無い場合に適用されます。
数値 非必須 不可
controlSelection レコード選択状態の制御のON/OFFを指定します。
省略時はデフォルトでfalseになります。
true,
false
非必須 不可
rowSorter テーブルヘッダーをクリックすることによるデータソートのON/OFFを指定します。
省略した場合はデフォルトでoffが適用されます。
on,
off
非必須
sortOnUpdate rowSorter="on"の場合に、テーブルの内容更新時にソート状態を引き継ぐかの指定です。
省略した場合はデフォルトはfalseですが、プロパティファイルで全体のデフォルトを変更することも可能です。
プロパティファイルでデフォルトを設定する場合は、
VirtualComponent.Table.SortOnUpdate=true
と指定してください。
true,
false
非必須
focusBorder フォーカスが当たっているセルに対するBorder表示のON/OFFを指定します。
省略した場合はデフォルトでoffが適用されます。
on,
off
非必須 不可

オプション設定 :
Tableコンポーネントのオプション設定として、以下の物があります。

  • TableHeader : テーブルヘッダについて設定する非必須オプション
  • TableRow : テーブル行について設定する非必須オプション
  • TableModel : テーブルの内容を設定する必須オプション
  • CheckBoxColumn : チェックボックスによる行選択を行う場合の非必須オプション
  • TableColumn : テーブルの各列についての詳細設定を行う必須オプション
  • TableSelection : テーブルの選択状態制御についての詳細設定を行う非必須オプション。

データの一覧表示

一覧表示する内容を取得する方法は、以下の2パターンがあります。

  • Contentからデータモデルの配列もしくはリストを取得してそのまま一覧表示する
  • ContentからTableModelを直接取得する(別途ContentProcedureの作成が必要)
どちらのパターンでTableを使用するかは、dataSource属性で指定します。
この属性値が"observable"なら前者、"tablemodel"なら後者です。
指定されていない場合、デフォルトは"observable"になります。

なお、rowSorter属性で"on"を指定することで、テーブルヘッダーのクリックで一覧表示内容をソートすることが出来るようになります。
この属性値はデフォルトで"off"になっています。


選択操作スタイル

テーブル上での選択操作スタイルは、"row", "column", "cell"から選択します。
rowを指定すれば行に対する選択操作となります。(デフォルト動作)
columnを指定すれば列に対する選択操作となります。
cellを指定すればセルに対する選択操作となります。

Tableは基本的に行をベースにしたデータ構造をとりますので、columnスタイルを指定すると一部の機能が利用できなくなります。 具体的にはselectedRow属性のような選択したデータそのものを取得する機能や、選択行制御機能が使えなくなります。


選択モードと選択内容の保存

テーブル上での行(列)選択のモードは、"none", "single", "multiple"から選択します。
選択内容として保存できるのは、選択行(列)のインデックスおよび選択行データとなります。
それぞれに単一選択用および複数選択用の属性が用意されています。複数選択用の属性は前に"multi"がついています。

各選択モードごとでの有効な属性値は以下のようになります。

selectStyle selectMode 有効な属性
row none
row single
  • selectedRowIndex
  • selectedRow
row multiple
  • selectedRowIndex
  • multiSelectedRowIndex
  • selectedRow
  • multiSelectedRows
column none
column single
  • selectedColumnIndex
column multiple
  • selectedColumnIndex
  • multiSelectedColumnIndex
cell none
cell single
  • selectedCell
  • selectedRowIndex
  • selectedColumnIndex
cell multiple(指定不可)

また、"multiple"で且つmultiSelectStyle="check"の場合はレコードの先頭に選択用カラムが自動で付加されます。
このカラムはチェックボックスになっていて、チェックすることにより複数行を選択できるようになります。

selectedCell属性、selectedRow属性、multiSelectedRows属性には以下が設定されます。

  • selectedCell属性
    dataSourceがobservableの場合には現象型の値、dataSourceがtablemodelの場合は任意のオブジェクト
     
  • selectedRow属性
    dataSourceがobservableの場合にはデータモデル、dataSourceがtablemodelの場合はMap
     
  • multiSelectedRows属性
    dataSourceがobservableの場合にはデータモデルを格納したList、dataSourceがtablemodelの場合はMapを格納したList
     


複数行選択モード時の操作スタイル

selectMode="multiple"を指定した場合に、multiSelectStyle属性で複数行選択をどのような操作で行わせるかを指定できます。
指定できるのは以下の2種類となります。

  • check : テーブルの一番左にチェックボックス付きの列が自動付与されて、そのチェックボックスによって複数行選択を行う。
  • selection : 一般的なアプリケーションと同様に、マウスによるドラッグやCtrlキーを押しながらの選択によって複数行選択を行う。
multiSelectStyle属性の指定を省略した場合は、デフォルトでcheckが指定された物と見なします。
これは、最初に開発されたのがcheck側の操作スタイルだったという経緯によるものです。
checkを指定した場合は、CheckBoxColumnタグをTableModelタグ配下で記述することでチェックボックス列に対する細かい設定を行うことが出来ます。


Table外部のチェックボックスによる全行一括選択

selectModel="multiple"を指定した場合に、Table外の任意の場所に配置されたCheckBoxによって全行の一括選択を行わせることが出来ます。
allRowSelector属性でそのCheckBoxのGUIコンポーネントに設定されたname属性の値を指定することで、Tableと連携させることが出来るようになります。
なお、multiSelectStyleの指定にかかわらずこの仕組みは動作しますが、selectionを選んでいる場合はCtrl+Aで全行選択ができるのであまり意味はありません。 checkboxを指定している場合に使用するのが効果的です。


Table上からのイベント送信

テーブル上の操作を契機として何らかの処理を実行することが出来ます。
以下の操作に反応してイベント送信を行うことが出来ます。

テーブル上での操作 イベント送信用の属性
テーブル上でのレコード選択 TableタグのonClick属性で送信イベントを指定します。
レコードのダブルクリック TableタグのonDoubleClick属性で送信イベントを指定します。
レコードのEnterキー入力 TableタグのonEnter属性で送信イベントを指定します。
セルのダブルクリック TableColumnタグのonDoubleClick属性で送信イベントを指定します。
セルのEnterキー入力 TableColumnタグのonEnter属性で送信イベントを指定します。
セル上での値編集 TableColumnタグのonChange属性で送信イベントを指定します。

TableタグとTableColumnタグの双方でonDoubleClick属性もしくはonEnter属性が指定されていた場合は、TableColumnタグ側の指定が優先されます。
属性値が指定されているTableColumnタグに対応する列上での操作時はTableColumnタグ側の指定イベントが発行されて、 属性値が指定されていないTableColumnタグに対応する列上での操作時はTableタグ側の指定イベントが発行されます。


レコード選択状態の制御

Command命令によってTableの選択状態を制御する手段としてchangeSelection命令があります。
このCommand命令を使用するとより細かな制御が可能となりますので、通常はこちらの方式を利用してください。

現在では非推奨の方式ですが、もしレコードの選択状態をTable自身に制御させる場合はcontrolSelection属性で制御の有無を指定できます。
レコード選択状態は、画面のパターンによって制御が必要な場合と不必要な場合があります。
例えば、Sheet-Meisai構造をとるようなデータモデルの編集画面で、Meisai部の追加、編集、削除を行うような場合で レコード選択状態を残す必要がありますが、検索/一覧表示系の画面での再検索後はレコード選択状態を残す事に意味は 無いので必要ないといったケースがあります。

controlSelection属性でtrueを指定した場合、デフォルトの動作は以下のようになります。

  • レコードが0件からn件に増えた場合 : 先頭行が自動で選択される
  • レコードがn件から0件なった場合 : 選択行無し
  • レコード件数が変わらない場合 : 選択状態の変化無し
  • レコードがn件からn+n件に増えた場合 : 最終行が自動で選択される
  • レコードがn件からn-n件に増えた場合 : 選択行は変化せず。ただし、最終行を選択していた場合は一つ上のレコードが選択状態になる。
この動作は、TableSelectionオプションで詳細な動作を変更することが出来ます。


テーブルヘッダ、行、列の表示内容についての制御

TableColumnタグのrenderer属性で、セルのレンダラを指定することが出来ます。
標準で用意されているセルレンダラは以下の5つになります。

  • renderer="Label":文字列の一行表示のレンダラ
  • renderer="TextArea":文字列の複数行表示のレンダラ
  • renderer="CheckBox":チェックボックス表示のレンダラ
  • renderer="HTMLPane":HTML形式のデータを表示するレンダラ
  • renderer="TextPane":文字列の複数行表示および横方向のアライメントが指定できるレンダラ
レンダラを明示的に指定しなかった場合は、Labelによるレンダラが自動で適用されます。
CheckBoxを指定した場合、CheckBoxTableCellRendererタグでチェックボックスをONにする値を割り当てます。

記述例:RemovedFlagをチェックボックスで表示
    <TableColumn header="RemovedFlag" ptype="RemovedFlag" renderer="CheckBox">
        <CheckBoxTableCellRenderer on="ptype:RemovedFlag/REMOVED"/>
    </TableColumn>
また、上記の3つ以外にも、カスタマイズしたTableCellRendererを実装して使用することが出来ます。
レンダラに関する詳細情報は後述の「特定セルの表示内容設定」を参照して下さい。

また、サイズの調整として以下の指定が出来ます。
  • テーブルヘッダの高さの調整 : TableHeaderタグのheight属性で行の高さをピクセル数で指定できます。
  • 行ヘッダの表示 : TableRowタグのheader属性で行ヘッダの表示有無を指定できます。
  • 行の高さの調整 : TableRowタグのheight属性で行の高さをピクセル数で指定できます。
  • 列の幅の調整 : TableColumnタグ及びCheckBoxColumnタグのwidth属性で行の高さをピクセル数で指定できます。
また、行全体、列全体、特定セルの前景色および背景色を指定することが出来ます。
設定は重複して行うことができます。優先順位および設定方法は以下のようになります。
  1. 特定セルの前景色と背景色の設定:
    一番強く優先される設定です。
    TableColumnタグ及びCheckBoxColumnタグの子タグとして、renderingタグを記述して設定することが出来ます。
    renderingタグではforeground属性, background属性で色を指定し、condition属性で設定が適用される条件を指定します。
     
  2. 特定行の前景色と背景色の設定:
    特定セルの次に優先される設定です。
    TableRowタグの子タグとして、renderingタグを記述して設定することが出来ます。
    renderingタグではforeground属性, background属性で色を指定し、condition属性で設定が適用される条件を指定します。
     
  3. 特定列の前景色と背景色の設定:
    一番最後に適用される設定です。
    TableColumnタグ及びCheckBoxColumnのforeground属性, background属性で色を指定します。
     


テーブルセル上での編集操作についての制御

テーブルのセル上で直接入力を行いたい場合は、TableColumnタグのeditor属性でセルエディタを指定します。
標準で用意されているセルエディタは以下の3つになります。

  • renderer="TextField":文字列入力するセルエディタ
  • renderer="ComboBox":コンボボックスで選択させるセルエディタ
  • renderer="CheckBox":チェックボックスで選択させるセルエディタ
このeditor属性はセル上で直接編集を行う場合は必須となります。
それぞれのセルエディタに対して、入力設定に関するタグが"{エディタ名}TableCellEditor"という形式の名前で用意されています。
特にComboBox及びCheckBoxについてはこの入力設定の記述が必須になります。

記述例:TextFieldによるセルエディタ
    <TableColumn header="Quantity" ptype="Quantity" editor="TextField" editable="true" >
        <TextFieldTableCellEditor document="decimal" click="single">
            <DecimalDocument intDigit="3" sign="positive"/>
        </TextFieldTableCellEditor>
    </TableColumn>
記述例:ComboBoxによるセルエディタ
    <TableColumn header="ValidityFlag1" ptype="ValidityFlag" editor="ComboBox" editable="true">
        <ComboBoxTableCellEditor>
            <ComboBoxModel>
                <PhenomenonComboValue items="ptype:ValidityFlag/definedValues"/>
            </ComboBoxModel>
        </ComboBoxTableCellEditor>
    </TableColumn>
記述例:CheckBoxによるセルエディタ(同時にレンダラもチェックボックスタイプに)
    <TableColumn header="ValidityFlag2" ptype="ValidityFlag" renderer="CheckBox" editor="CheckBox" editable="true">
        <CheckBoxTableCellRenderer on="ptype:ValidityFlag/VALID"/>
        <CheckBoxTableCellEditor on="ptype:ValidityFlag/VALID" off="ptype:ValidityFlag/INVALID"/>
    </TableColumn>
上記の3つ以外にも、カスタマイズしたTableCellEditorを実装して使用することが出来ます。
また、各列での編集可、不可の条件指定や表示と編集で扱う項目が異なる場合の指定、編集値チェック、編集イベントの発行などが可能です。
セルエディタについての詳細は後述の「特定セルの編集内容設定」を参照して下さい。


TableHeader

テーブルヘッダの表示に関する設定を行う非必須のオプションです。
ヘッダの高さに関する設定などを行うことが出来ます。

TableHeaderタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
height テーブル行の高さをピクセル数で指定します。 数値 非必須 不可
reorderingAllowed 列ヘッダをドラッグすることによるテーブル列の手動入れ替えを許すかの指定です。 true,
false
非必須

TableRow

テーブルの行表示に関する設定を行う非必須のオプションです。
行の高さや色に関する設定などを行うことが出来ます。

TableRowタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
height テーブル行の高さをピクセル数で指定します。 数値 非必須 不可
header 行ヘッダの表示有無を指定します。
現状で指定できる行ヘッダは行インデックスを表示するタイプのみです。
省略された場合は表示無しの扱いとなります。
index 非必須 不可

また、テーブル中の特定行の表示に関する設定を、条件を指定して複数個列挙することができます。
これはrenderingタグをオプションで指定し、条件をcondition属性で指定します。renderingタグは複数個列挙できます。
複数個列挙された場合は、上から順にcondition属性が評価されて合致した場合にそのrenderingタグの設定が適用されます。
条件無しで固定で適用したいのであればcondition属性を記述しないでください。

行データの項目はrow参照で指定して下さい。
条件判定にはfilter参照を使用して下さい。

renderingタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
background 行の背景色を指定します。
通常は参照記法でcolor参照を使用します。
文字列 非必須 可(通常はcolor参照を使用)
foreground 行の前景色を指定します。
通常は参照記法でcolor参照を使用します。
文字列 非必須 可(通常はcolor参照を使用)
condition このrenderingオプションが有効になる条件を指定します。
大抵はfilter参照とrow参照を組み合わせて、その行データの内容を評価します。
この属性値は省略可能です。省略時はデフォルトでtrueとなります。
文字列 非必須 可(通常はfilter参照を使用)

記述例 :
行の高さを30ピクセルとし、行データのRemovedFlagという項目がREMOVEDの場合に、その行の背景色をライトグレー、文字色をグレーにする。
その条件に当てはまらない場合、VersionNumberという項目が1の場合にはその行の背景色を赤にする。

<TableRow height="30">
    <rendering background="color:LIGHT_GRAY" foreground="color:GRAY" condition="row:data/RemovedFlag = REMOVED"/>
    <rendering background="color:RED" condition="row:data/VersionNumber = 1"/>
</TableColumn>


TableModel

テーブルの内容を設定する必須のオプションです。
テーブルに表示する内容をrows属性もしくはmodel属性で指定します。
どちらを指定するかは、TableタグのdataSource属性の指定で決まります。

カラムに関する詳細設定を記述するタグとして、以下の子タグを指定できます。

TableModelタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
rows テーブルに表示させるデータモデルの一覧を指定する。
通常は参照記法でコンテント項目を指定する。
文字列 dataSource="observable"の場合に必須 不可
model テーブルに表示させる内容を格納したテーブルモデルをしていする。
通常は参照記法でコンテント項目を指定する。
文字列 dataSource="tablemodel"の場合に必須 不可

CheckBoxColumn

selectMode="multiple"の場合に先頭カラムとして表示されるチェックボックスカラムに対する設定をするタグです。
selectModeが他の指定の場合は記述しても無視されます。

また、行データの内容を判定して、それぞれの行でチェックボックスの表示/非表示を制御できます。
これは、selectable属性で指定します。 filter参照および、 row参照を組み合わせて判定して下さい。

このタグは省略可能です。省略された場合、先頭カラムのカラム名および横幅はデフォルトで設定されます。

属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id Table内でユニークとなるカラム識別子を指定します。テーブル列の内部制御用に使用されます。
header属性で指定した値が画面初期化後も動的に変化していくような場合は、この属性でカラムをユニークに特定できる名前を付与してください。
文字列 非必須 不可
header チェックボックスカラムのヘッダに表示させるカラム名を指定する。
省略すると、デフォルトで"選択"というカラム名となる。
文字列 非必須
width カラムの幅をピクセル単位で指定する。 文字列 非必須 不可
selectable チェックボックスの表示/非表示を制御するための条件を指定します。
filter参照やrow参照を組み合わせて指定して下さい。
この属性値は省略可能です。省略時はデフォルトでtrueとなります。
文字列 非必須
(省略時はtrue)
不可
background チェックボックス列の背景色を指定します。
ここで指定された色は特に条件判定などはされずに固定で適用されます。
他の設定と重複した場合は優先順位が一番下になります。
通常は参照記法でcolor参照を使用します。
文字列 非必須 可(通常はcolor参照を使用)
foreground チェックボックス列の前景色を指定します。
ここで指定された色は特に条件判定などはされずに固定で適用されます。
他の設定と重複した場合は優先順位が一番下になります。
通常は参照記法でcolor参照を使用します。
文字列 非必須 可(通常はcolor参照を使用)

TableColumn

テーブルの各カラムに割り当てる項目の設定を定義するタグです。
TableタグのcolumnFixed属性がtrueの場合に記述してください。falseの場合はこのタグは無視されます。
テーブルに表示させるカラムの分だけ列挙してください。記述した順番でカラムにマッピングされます。

TableColumnタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id Table内でユニークとなるカラム識別子を指定します。テーブル列の内部制御用に使用されます。
header属性で指定した値が画面初期化後も動的に変化していくような場合は、この属性でカラムをユニークに特定できる名前を付与してください。
文字列 非必須 不可
header テーブルにヘッダに表示させるカラム名を指定する。
指定する場合は必ずテーブル内でユニークになるようにしてください。
なお、"選択"というカラム名はフレームワーク内部で予約しているのでここでは使用禁止です。
文字列(「選択」という文字列以外を指定すること) dataSource="observable"の場合に必須
ptype データモデルをTableで扱う場合に、このカラムに割り当てるデータモデル中の現象型にアクセスするパスを指定する。
ここには現象型パスが記述できるので、スラッシュ区切りで別モデルにアクセスすることもできます。
また、カンマ区切りで複数の項目を指定することで、1セルに複数項目分の値を表示させることができます。
文字列 dataSource="observable"の場合に必須 不可
translator 値を文字列に変換するトランスレータの指定。
省略された場合は"default"が適用される。
文字列 非必須 不可
width カラムの幅をピクセル単位で指定する。 文字列 非必須 不可
alignment セル内での水平方向の表示位置を指定する。
省略された場合、データモデルから取得した値の型に従って自動で割り当てられる。
なお、この属性が効果があるのは一部のセルレンダラ(Label,TextPane)のみとなる。
left,
center,
right
非必須 不可
vertical セル内での垂直方向の表示位置を指定する。
省略された場合、デフォルトでcenterの扱いとなる。
なお、この属性が効果があるのは一部のセルレンダラ(Label)のみとなる。
top,
center,
bottom
非必須 不可
margin セル内の表示内容に対するマージンサイズの指定。
Look&Feelによっては表示内容がalignmentで寄せた側にぴったりくっついてしまい見にくくなる場合があるので、そのようなケースでこの属性による列ごとの調整が可能です。

また、プロパティでデフォルトのマージンサイズを指定して、全画面の全列に対して統一設定することも可能です。
その際の設定キーは以下のようになります。
  • renderer="Label"の場合:VirtualComponent.Table.LabelTableCellRenderer.margin
  • renderer="TextArea"の場合:VirtualComponent.Table.TextAreaTableCellRenderer.margin
  • renderer="HTMLPane"の場合:VirtualComponent.Table.HTMLPaneTableCellRenderer.margin
  • renderer="TextPane"の場合:VirtualComponent.Table.TextPaneTableCellRenderer.margin
数値 非必須 不可
background 列の背景色を指定します。
ここで指定された色は特に条件判定などはされずに固定で適用されます。
他の設定と重複した場合は優先順位が一番下になります。
通常は参照記法でcolor参照を使用します。
文字列 非必須 可(通常はcolor参照を使用)
foreground 列の前景色を指定します。
ここで指定された色は特に条件判定などはされずに固定で適用されます。
他の設定と重複した場合は優先順位が一番下になります。
通常は参照記法でcolor参照を使用します。
文字列 非必須 可(通常はcolor参照を使用)
onDoubleClick このTableColumnタグが表す列上でダブルクリックが行われた際に発行するイベントの指定です。 Tableタグ側で指定されたonDoubleClick属性よりもこちらのほうが優先されます。 文字列 非必須 不可
onEnter このTableColumnタグが表す列上でエンターキー押下が行われた際に発行するイベントの指定です。 Tableタグ側で指定されたonEnter属性よりもこちらのほうが優先されます。 文字列 非必須 不可
onChange このTableColumnタグが表す列上でセル上での値編集が行われた際に発行するイベントの指定です。 編集の結果として値の変更が発生した場合に、個々で指定されたイベントが発行されます。 文字列 非必須 不可
renderer 列の表示レンダラコンポーネントタイプを指定します。標準で以下が用意されています。
  • Label:デフォルトのレンダラです。一行の文字列として値を表示します。
  • TextArea:複数行の文字列として値を表示します。
  • CheckBox:区分値系の値をチェックボックスのON/OFFとして表示します。
  • HTMLPane:HTML形式で与えられた文字列を整形して表示します。
  • TextPane:複数行の文字列として値を表示します。横方向のアライメントが指定可能です。
上記以外にも、独自に作成したセルレンダラをプロパティファイルに登録して使用することも出来ます。
その場合は、プロパティファイルに登録した名前をここで指定します。

指定したタイプによっては追加情報のタグが必要になります。
詳細はこちらを参照してください。
Label,TextArea,CheckBox,HTMLPane,TextPane
その他プロパティに登録したセルレンダラ名
非必須 不可
tooltip 列上でマウスカーソルを置いた際にツールチップ表示させたい場合に、表示内容を指定します。 文字列 非必須
editor 列の編集コンポーネントタイプを指定します。標準で以下が用意されています。
  • TextField:文字列の直接入力を行うセルエディタです。
  • ComboBox:ComboBoxで値を選択入力するセルエディタです。
  • CheckBox:CheckBoxで値をチェック入力するセルエディタです。
  • Calendar:カレンダダイアログで日付を入力するセルエディタです。
上記以外にも、独自に作成したセルエディタをプロパティファイルに登録して使用することも出来ます。
その場合は、プロパティファイルに登録した名前をここで指定します。

指定したタイプによっては追加情報のタグが必要になります。
詳細はこちらを参照してください。
TextField,ComboBox,CheckBox,Calendar
その他プロパティに登録したセルエディタ名
セル上で編集させたい場合に必須 不可
editable セルの編集可/不可の条件を指定します。
editor属性でセルエディタを指定した場合は必ずこの属性も設定して下さい。
true,falseを直接指定するか、参照記法でfilter参照やcontent参照による条件を指定することが出来ます。
true,
false
editor属性指定時に必須
save セル上での編集結果の値を設定する項目を指定します。
省略された場合はptype属性で指定された項目に値が設定されます。

この属性は表示と編集で対象とする項目が異なる場合に指定して下さい。
表示は増谷登録されている名前だが入力はマスタのNo値の場合などが該当します。
文字列 非必須 不可
edit セル上で編集された値をチェックするため行データコピーを保存する先を指定します。
この行データコピーは、本物の行データからコピーした別インスタンスの行データに対してセル上での編集値を反映したもので、 後述のvalidator属性で指定するチェック処理が参照するためのものです。

データモデルを扱うTableでは、edit属性で指定するContent項目はtype="model"となります。
TableModelを直接扱うTableでは、edit属性で指定するContent項目はtype="value"で型はjava.util.Mapとなります。

後述のvalidator属性でチェック処理コマンドを指定する場合に、この属性も一緒に指定して下さい。 基本的にはContent項目を参照記法で指定します。
文字列 非必須
validator セル上で入力された値の反映前チェック処理を実行するコマンド名を指定します。
他のonChange属性等と違い、ここで指定するのはイベント名ではなくコマンド名であることに注意して下さい。

前述のedit属性で指定された一時保存先(基本的にはContent項目)がチェック対象となり、 ここで指定されたコマンドでチェック処理が実行された結果、例外が発生した場合はセル編集がキャンセルされます。
文字列 非必須 不可
visible テーブル列の表示条件を指定します。
条件によっては列の表示そのものをしない場合などに、参照記法で判定条件やBoolean値を指定してください。 省略した場合は"true"の扱いになります。
true,
false
非必須
available テーブル列の編集が可能となる状態名を列挙して指定することが出来ます。 Areaの状態遷移表で指定した状態毎に編集の可不可を制御したい場合に指定して下さい。 editable属性も指定された場合は、両方の条件が合わせて判定されます。

カンマ区切りで複数の状態を指定できます。省略時は状態による判定は行いません。
文字列 非必須 不可

基本的は、ptype属性で表示したいデータモデル項目を指定して1列に1項目を表示させます。

もし1列に複数項目分の情報を表示させたい場合は、ptype属性でカンマ区切りで複数項目を指定して下さい。
この場合、各項目の値にtranslatorが適用された結果の文字列が「半角スペース+改行コード」で連結されてセルレンダラに渡されます。
各項目毎に改行して1セル中に表示したい場合は、renderer属性で改行に対応したレンダラ(TextAreaやTextPaneなど)を指定して下さい。 renderer属性を指定しなかった場合(=Labelになる)は、半角スペースで区切られた1行文字列が表示される見た目になります。

renderer属性及びeditor属性でセルレンダラやセルエディタを指定する場合については以下を参照して下さい。

また、テーブルの特定のカラムに割り当てるデータ項目の候補を、条件を指定して複数個列挙することができます。
これはloadタグをオプションで指定し、項目をfrom属性、条件をcondition属性、lang属性、country属性で指定します。
loadタグは複数個列挙できます。

この指定方法を使用した場合、まずloadタグの内容が上から順番に評価されます。
条件が合致したloadタグのfrom属性で指定された項目がそのTableColumnに割り当てられます。
全てのloadタグの条件に合致しなかった場合は、もしTableColumnタグにptype属性が指定されていればそちらが最後に適用されます。

記述例 :
"更新日時"というカラムに、データモデルの"更新日時"という現象型を割り当てる。
ただし、まずその行のVersionNumberを判定して1であれば作成日時を割り当てる。
当てはまらない場合はその行のRemovedFlagを判定し、REMOVEDなら"削除日時"を割り当てる。 どちらにも当てはまらない場合は"更新日時"が割り当てられる。

<TableColumn header="更新日時" ptype="更新日時" width="150">
    <load from="row:data/作成日時" condition="filter:[row:data/VersionNumber = 1]"/>
    <load from="row:data/削除日時" condition="filter:[row:data/RemovedFlag = REMOVED]"/>
</TableColumn>

なお、loadタグを使用する場合は、行データの項目をfrom属性で指定したり、condition属性での条件判定に使用します。
行データの項目はrow参照で指定して下さい。
条件判定にはfilter参照を使用して下さい。

loadタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
from テーブルカラムに割り当てる項目を指定します。
row参照を使用して、行データ中の項目(現象型)を指定したり、固定文字列を指定したりできます。
文字列 必須
lang loadタグの適用言語圏を指定する。
ISO-639で定義される2桁の小文字で指定すること。
文字列 非必須 不可
country loadタグの適用国を指定する。
ISO-3166で定義される2桁の大文字で指定すること。
省略可能。省略時は実行環境のcountryに関わらずlanguageが一致すれば適用される。
文字列 非必須 不可
condition このloadオプションが有効になる条件を指定します。
大抵はfilter参照とrow参照を組み合わせて、その行データの内容を評価します。
この属性値は省略可能です。省略時はデフォルトでtrueとなります。
文字列 非必須
(省略時はtrue)

TableSelection

テーブルの選択行制御についての詳細設定を行う任意のオプションです。
テーブルの内容がリフレッシュされた時(onRefresh)、レコードが増えた場合(onAdd)、 レコードが減った場合(onDelete)にそれぞれ選択行をどのように制御するかについて設定することが出来ます。

onRefreshに対して、"nochange"以外を指定した場合はその動作が最優先となるので、onAddとonDeleteは指定しても無効となります。 そのため、onAddとonDeleteはonRefreshが省略又は"nochange"指定の場合のみ有効です。

動作指定の意味はそれぞれ以下のようになります。

  • clear : 選択状態をクリアして、どのレコードも選択されていない状態にする
  • firstline : 先頭行を選択状態にします。
  • endline : 最終行を選択状態にします。
  • nochange : 現在の選択状態をそのまま保持します。
TableSelectionタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
onRefresh テーブルの内容が更新された際の選択行制御を指定します。
この属性値で"nochange"以外が選択された場合は、onAddとonDeleteの指定は無効となります。
clear,
firstline,
endline,
nochange
非必須(onAdd, onDeleteと排他) 不可
onAdd レコード件数が増えた際の選択行制御を指定します。 clear,
firstline,
endline,
nochange
非必須(onRefreshと排他) 不可
onDelete レコード件数が減った際の選択行制御を指定します。 clear,
firstline,
endline,
nochange
非必須(onRefreshと排他) 不可

特定セルの表示内容設定

TableColumnタグのrenderer属性で、各セルの表示を行うセルレンダラのコンポーネントタイプを指定することが出来ます。
標準で指定できるのは以下に挙げた物です。

上記以外にも、独自のセルレンダラを実装して使用することが可能です。
その場合は、VTableCellRendererDelegateというインタフェースを実装したクラスを作成し、
プロパティファイルにレンダラ名と実装クラス名を登録することで使用できるようになります。
独自のセルレンダラ実装については別途Helperクラスのリファレンスを参照して下さい。

また、TableColumnタグとCheckBoxColumnタグの子タグとしてrenderingタグを記述することでセル毎に表示色を設定することが出来ます。
設定の適用条件をrenderingタグのcondition属性で指定します。renderingタグは複数個列挙できます。
複数個列挙された場合は、上から順にcondition属性が評価されて合致した場合にそのrenderingタグの設定が適用されます。
条件無しで固定で適用したいのであればcondition属性を記述しないでください。

行データの項目はrow参照で指定して下さい。
条件判定にはfilter参照を使用して下さい。

renderingタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
background セルの背景色を指定します。
通常は参照記法でcolor参照を使用します。
文字列 非必須 可(通常はcolor参照を使用)
foreground セルの前景色を指定します。
通常は参照記法でcolor参照を使用します。
文字列 非必須 可(通常はcolor参照を使用)
condition このrenderingオプションが有効になる条件を指定します。
大抵はfilter参照とrow参照を組み合わせて、その行データの内容を評価します。
この属性値は省略可能です。省略時はデフォルトでtrueとなります。
文字列 非必須 可(通常はfilter参照を使用)

記述例 :
行データのRemovedFlagという項目がREMOVEDの場合に、そのセルの背景色をライトグレー、文字色をグレーにする。
その条件に当てはまらない場合、VersionNumberという項目が1の場合にはそのセルの背景色を赤にする。

<TableModel rows="content:CC_XXX_EditList/TargetModelList">
    <CheckBoxColumn header="選択">
        <rendering background="color:LIGHT_GRAY" foreground="color:GRAY" condition="row:data/RemovedFlag = REMOVED"/>
        <rendering background="color:RED" condition="row:data/VersionNumber = 1"/>
    </CheckBoxColumn>
    <TableColumn header="RemovedFlag" ptype="RemovedFlag">
        <rendering background="color:LIGHT_GRAY" foreground="color:GRAY" condition="row:data/RemovedFlag = REMOVED"/>
    </TableColumn>
    <TableColumn header="VersionNumber" ptype="VersionNumber">
        <rendering background="color:RED" condition="row:data/VersionNumber = 1"/>
    </TableColumn>
</TableModel>


特定セルの編集内容設定

TableColumnタグのeditor属性で、各セル上で直接編集を行うセルエディタのコンポーネントタイプを指定することが出来ます。
標準で指定できるのは以下に挙げた物となります。

上記以外にも、独自のセルエディタを実装して使用することが可能です。
その場合は、
VTableCellEditorDelegateというインタフェースを実装したクラスを作成し、
プロパティファイルにエディタ名と実装クラス名を登録することで使用できるようになります。
独自のセルエディタ実装については別途Helperクラスのリファレンスを参照して下さい。

セルエディタをeditor属性で指定した場合は、必ずeditable属性で編集可能となる条件を指定して下さい。
true,falseを直接指定することもできますし、参照記法などで条件を指定することも可能です。
省略時はデフォルトでfalse扱いとなるので、editor属性によるセルエディタの指定があってもセル上での編集が開始されません。

もしセルでの表示内容と編集値で対象項目が異なる場合は、save属性で編集対象項目を指定して下さい。
これは、例えば以下のようなマスタ項目を扱う列の場合などに該当します。

記述例:セル上のComboBoxでマスタ項目を選択して入力
    <TableColumn header="回収区分" ptype="回収区分No/回収区分名称" editor="ComboBox" save="回収区分No">
        <ComboBoxTableCellEditor>
            <ComboBoxModel>
                <ObservableComboValue items="content:CC_CONS_001_EditList/回収区分マスタList"
                                      value="回収区分No" text="回収区分名称"/>
            </ComboBoxModel>
        </ComboBoxTableCellEditor>
    </TableColumn>

[セル上での編集値のチェック]

セル上での値編集を行った場合に、セル上で入力された値が実際のデータオブジェクトに反映される前にチェック処理を行いたい場合は以下の属性値を記述して下さい。
  • edit属性:チェック対象値が反映された行データコピーの保存先の指定(基本はContent項目を参照記法で指定)
  • validator属性:チェック処理を実行するコマンド名(イベント名ではなく、コマンド名の直接指定)
データモデルを扱うTableでは、edit属性で指定するContent項目はtype="model"となります。
TableModelを直接扱うTableでは、edit属性で指定するContent項目はtype="value"で型はjava.util.Mapとなります。
この行データのコピーオブジェクトをvalidator属性で指定したチェック処理から呼び出すサービス等に渡してください。

validator属性で指定されたコマンドの基本的な処理内容は、ContentのActionを呼び出してチェック処理サービスを実行することになります。
その結果、例外が発生してエラーハンドリングが行われた場合はセル編集がキャンセルされて入力値の反映は行われません。

記述例:セル上のComboBoxでの選択後にチェック処理コマンドを呼び出す
    <TableColumn header="回収区分" ptype="回収区分No/回収区分名称" editor="ComboBox" save="回収区分No"
            edit="content:CC_CONS_001_Edit/セル入力回収区分No" validator="回収区分入力チェック">
        <ComboBoxTableCellEditor>
            <ComboBoxModel>
                <ObservableComboValue items="content:CC_CONS_001_EditList/回収区分マスタList"
                                      value="回収区分No" text="回収区分名称"/>
            </ComboBoxModel>
        </ComboBoxTableCellEditor>
    </TableColumn>

[セル上での編集に対する連動]

セル上での値編集を行った場合に、連動してさらに別の処理を行いたい場合はonChange属性で発行イベントを指定してください。
以下のようにTableColumnタグで指定します。

記述例:セル上のComboBoxでの選択に連動してイベント発行
    <TableColumn header="回収区分" ptype="回収区分No/回収区分名称" editor="ComboBox" save="回収区分No" onChange="COMMAND[回収区分変更]">
        <ComboBoxTableCellEditor>
            <ComboBoxModel>
                <ObservableComboValue items="content:CC_CONS_001_EditList/回収区分マスタList"
                                      value="回収区分No" text="回収区分名称"/>
            </ComboBoxModel>
        </ComboBoxTableCellEditor>
    </TableColumn>

[キーボード主体のテーブル直接編集]

テーブルでの直接編集を、なるべくマウスを使わずにキーボードのみで行えるようにしたい場合は、 以下の設定を組み合わせて下さい。
  • TableタグでfocusBorder="on"を指定
  • TextFieldTableCellEditorタグでstartwith="selection"を指定
これにより選択セルがボーダーで強調表示されるようになり、 更に数値や文字列を入力するTextFieldセルエディタがセル選択と同時に編集開始されるため、 マウスに持ち替えることなく連続して入力が可能となります。

この場合、選択セルの移動は以下のキー操作となります。
  • 右に移動:タブ
  • 左に移動:Sheft+タブ
  • 上に移動:カーソルキー上
  • 下に移動:カーソルキー下、エンター


プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.Table.OddRowPaintDefault テーブルの奇数行の着色有無のデフォルト
VirtualComponent.Table.OddRowBackground テーブルの奇数行の背景色
VirtualComponent.Table.CheckedRowBackground 複数選択チェックされた行の背景色
VirtualComponent.Table.CheckBoxColumnHeader チェックボックスカラムのヘッダ表示名のデフォルト
VirtualComponent.Table.TableHeaderHeight テーブルヘッダの高さのデフォルト
VirtualComponent.Table.TableRowHeight テーブル行の高さのデフォルト


RadioButtonGroupタグ

記述例1 : 各ラジオボタンの選択値に現象型の区分値を割り当てる場合

<RadioButtonGroup id="検索条件ラジオボタングループ"
    selectedItem="content:CC_XXX_001_Config/検索条件">
    <RadioButton id="条件1ラジオボタン" on="ptype:検索条件/条件1"/>
    <RadioButton id="条件2ラジオボタン" on="ptype:検索条件/条件2"/>
    <RadioButton id="条件3ラジオボタン" on="ptype:検索条件/条件3"/>
    <RadioButton id="条件4ラジオボタン" on="ptype:検索条件/条件4"/>
</RadioButtonGroup>

記述例2 : 各ラジオボタンの選択値に文字列を割り当てる場合

<RadioButtonGroup id="検索条件ラジオボタングループ"
    selectedItem="content:CC_XXX_001_Config/検索条件">
    <RadioButton id="条件1ラジオボタン" on="条件1"/>
    <RadioButton id="条件2ラジオボタン" on="条件2"/>
    <RadioButton id="条件3ラジオボタン" on="条件3"/>
    <RadioButton id="条件4ラジオボタン" on="条件4"/>
</RadioButtonGroup>

説明 :
ラジオボタンのグループの対応するタグです。
このグループに所属するラジオボタンは排他選択となります。
コンボボックスと働きとしては同じになりますが、選択肢が全て見えている点が異なります。

RadioButtonGroupタグで特殊なのは、id属性で指定するのがGUIコンポーネントのname属性値ではないという点です。 これは、ラジオボタングループというのが実際のラジオボタンのGUIコンポーネントをグルーピングした集合を表すためです。 このタグのid属性では、Area定義内でユニークになる適当な名称を指定してください。

実際のラジオボタンのGUIコンポーネントとマッピングするのは、オプション設定のRadioButtonタグのid属性になります。

固有属性値 :
RadioButtonGroupタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
selectedItem 選択値の設定先を指定します。
通常は参照記法でコンテント項目を指定する。
文字列 必須

オプション設定 :
必須のオプション設定として、RadioButtonタグがあります。

RadioButtonタグ

ラジオボタンのグループに所属する、一つ一つのラジオボタンのGUIコンポーネントの指定です。 グループに所属するラジオボタンの数だけ列挙してください。

RadioButtonタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id RadioButtonのGUIコンポーネントのname属性を指定します。 文字列 必須 不可
text ラジオボタンの横に表示する文字列を指定します。 文字列 非必須
on このラジオボタンに割り当てる値を指定します。
選択された項目を表す文字列を指定したり、参照記法で特定の値(現象の区分値など)を指定することが出来ます。
文字列 必須
visible 対応するラジオボタンの表示、非表示を指定できます。
参照記法で条件式もしくはBoolean値を指定します。
true,
false
非必須

プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.RadioButtonGroup.DisabledForeground ラジオボタングループのDisable時の文字色指定


CheckBoxGroupタグ

記述例 :

<CheckBoxGroup id="検索条件チェックボックスグループ"
    checkedItems="content:CC_XXX_001_Config/検索条件のリスト">
    <CheckBox id="条件1チェックボックス" on="ptype:検索条件/条件1"/>
    <CheckBox id="条件2チェックボックス" on="ptype:検索条件/条件2"/>
    <CheckBox id="条件3チェックボックス" on="ptype:検索条件/条件3"/>
    <CheckBox id="条件4チェックボックス" on="ptype:検索条件/条件4"/>
</CheckBoxGroup>

説明 :
チェックボックスのグループの対応するタグです。
このタグを使用するとチェックボックスのon側にのみ値が割り振られます。グルーピングされたチェックボックス一つ一つが なんらかの区分値を表すような形になるので、選択肢の中から一度に複数個の項目を選択させたい場合に使用します。
定義の内容はRadioButtonGroupとほぼ同じ形式になりますが、選択値がmultiple(複数項目の選択が可能な為)になる点が異なります。

一つのチェックボックスのon/offにそれぞれ値が割り振られる場合はCheckBoxタグを指定してください。

CheckBoxGroupタグで特殊なのは、id属性で指定するのがGUIコンポーネントのname属性値ではないという点です。 これは、チェックボックスグループというのが実際のチェックボックスのGUIコンポーネントをグルーピングした集合を表すためです。 このタグのid属性では、Area定義内でユニークになる適当な名称を指定してください。

実際のチェックボックスのGUIコンポーネントとマッピングするのは、オプション設定のCheckBoxタグのid属性になります。

固有属性値 :
CheckBoxGroupタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
checkedItems チェックされた項目のリストの設定先を指定します。
通常は参照記法でコンテント項目を指定する。この場合のコンテント項目はtypeが必ず"values"になる。
文字列 必須

オプション設定 :
必須のオプション設定として、CheckBoxタグがあります。

CheckBoxタグ

チェックボックスのグループに所属する、一つ一つのチェックボックスの指定です。 グループに所属するチェックボックスの数だけ列挙してください。

CheckBoxタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id CheckBoxのGUIコンポーネントのname属性を指定します。 文字列 必須 不可
text このチェックボックスの横に表示する文字列を指定します。 文字列 非必須
on このチェックボックスに割り当てる値を指定します。
選択された項目を表す文字列を指定したり、参照記法で特定の値(現象の区分値など)を指定することが出来ます。
文字列 必須
visible 対応するチェックボックスの表示、非表示を指定できます。
参照記法で条件式もしくはBoolean値を指定します。
true,
false
非必須


Listタグ

記述例 : マスタ等の検索結果に含まれる項目を選択肢にする場合

<List id="会社選択リスト" selectMode="multiple"
    selectedValues="content:CC_XXX_001_Edit/会社">
    <ListModel>
        <ObservableListValue elements="content:CC_XXX_001_Edit/会社一覧"
            value="会社No" text="会社名"/>
    </ListModel>
</List>
記述例 : モデルの検索結果の内容をTranslatorで変換して一覧中に表示する場合
<List id="処方箋リスト" selectMode="single"
    selectedSource="content:CC_XXX_001_Edit/選択処方箋情報">
    <ListModel>
        <ObservableListValue elements="content:CC_XXX_001_Edit/処方箋一覧"
            translator="処方箋リスト"/>
    </ListModel>
</List>
記述例 : 現象の区分値を選択肢にする場合
<List id="申請種別リスト" selectMode="single"
    selectedValue="content:CC_XXX_001_Edit/申請種別">
    <ListModel>
        <PhenomenonListValue elements="ptype:申請種別/definedValues"/>
    </ListModel>
</List>
記述例 : 任意の値を選択肢にする場合
<List id="申請種別リスト" selectMode="single"
    selectedValue="content:CC_XXX_001_Edit/申請種別">
    <ListModel>
        <StaticListValue value="ptype:申請種別/仮払申請書"/>
        <StaticListValue value="ptype:申請種別/交通費精算書"/>
    </ListModel>
</List>
記述例 : オブジェクト配列もしくはListを選択肢にする場合
<List id="申請種別リスト" selectMode="multiple"
    selectedValues="content:CC_XXX_001_Edit/申請種別">
    <ListModel>
        <ObjectListValue elements="content:CC_XXX_001_Edit/申請種別リスト"/>
    </ListModel>
</List>

説明 :
リストに対応する制御タグです。
選択した値の設定先や、選択肢の内容に関する設定が出来ます。

リストコンポーネントは、選択肢中から単一の値、もしくは複数の値を選択することができるコンポーネントです。
単一選択のみか複数選択を許すかはselectMode属性で指定することになります。

  • selectMode="single"の場合 :
     単一選択モード。選択値を指定する属性値はselectedValue, selectedSource属性となる
  • selectMode="multiple"の場合 :
     複数選択モード。選択値を指定する属性値はselectedValues, selectedSources属性となる

なお、このコンポーネントタグは Componentの国際化対応に対応しています。

固有属性値 :
Listタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
selectMode リストの選択モード。単一選択か複数選択かを指定する
省略時はデフォルトで"single"となる。
  • single : 単一選択
  • multiple : 複数選択
single
multiple
非必須 不可
selectedValue 初期表示値及び、選択した値の設定先の指定。
selectMode="single"の場合に指定する
通常は参照記法でコンテント項目を指定する。
ここで指定される値は必ず複数値となる。
文字列 非必須
selectedSource リスト上で選択された項目が結びつくデータモデルの設定先の指定。
selectMode="single"で、ObservableListValueオプションを指定している場合に使用できる。
リストによる選択が、データモデル中の複数項目の選択を表す場合(Noおよび何らかのフラグなど)に使用する。
通常は参照記法でコンテント項目を指定する。項目のタイプは"model"である必要があります
文字列 非必須
selectedValues 初期表示値及び、選択した値の設定先の指定。
selectMode="multiple"の場合に指定する
通常は参照記法でコンテント項目を指定する。
ここで指定される値は必ず複数値となる。
文字列 必須
selectedSources リスト上で選択された項目が結びつくデータモデルの設定先の指定。
selectMode="multiple"で、ObservableListValueオプションを指定している場合に使用できる。
リストによる選択が、データモデル中の複数項目の選択を表す場合(Noおよび何らかのフラグなど)に使用する。
通常は参照記法でコンテント項目を指定する。項目のタイプは"model"である必要があります
文字列 必須
onDoubleClick リストのレコードをダブルクリックした際の発行イベント名を指定する。 true,
false
非必須

オプション設定 :
必須のオプション設定として、ListModelがあります。

ListModelタグ

リストの選択肢に関する設定をする必須オプションです。
マスタ等のデータモデルから選択肢を作成する場合、現象の区分値一覧から作成する場合、 固定値を直接指定して作成する場合などでそれぞれ子タグが用意されています。

ObservableListValue
マスタ等のデータモデルから選択肢を作成する場合に、ListModelタグの子タグとして指定します。
Listコンポーネントに表示する選択肢の文字列は、以下のどちらかの方法で指定できます。

  • データモデル中の特定の現象型名を表示項目として指定する。この場合はtext属性が必須となる。
  • データモデルに対してModelTranslatorをtranslator属性で指定することで表示文字列に変換する。 この場合はtext属性は記述しない。
属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
elements 選択肢の元データとなる、データモデルのリストを指定します。 通常は参照記法でコンテント項目を指定する。項目のタイプは"models"である必要があります。 文字列 必須
value データモデル中のどの現象型をこのリストでの選択値として扱うかを指定します。
対象のデータモデル中に含まれる現象型ならその名称を指定し、No等を経由してマスタから対象を取得したい場合はパスで指定して下さい。
文字列 非必須 不可
text データモデル中のどの現象型をこのリストの選択肢の文字列として扱うかを指定します。
対象のデータモデル中に含まれる現象型ならその名称を指定し、No等を経由してマスタから対象を取得したい場合はパスで指定して下さい。
また、複数項目を連結してリストの選択肢文字列にしたい場合は、カンマ区切りで複数項目を指定することが可能です。
特定のフォーマットに従ってモデルの内容全体から表示文字列を作成する場合は、text属性の代わりにtranslator属性でModelTranslatorを指定します。
文字列 非必須 不可
separator リスト選択肢の文字列を作成する際の連結文字列をここで指定できます。
text属性でカンマ区切りで複数個の表示項目が指定された場合に、ここで指定された文字で連結されて一つの表示文字列が作成されます。
省略された場合はデフォルトでコロン(':')で表示項目が連結されてリスト中に表示されます。
文字列 非必須
translator モデルの内容そのものを元に表示文字列を作成する場合に指定します。 文字列 非必須 不可

PhenomenonListValue
現象の区分値一覧から選択肢を作成する場合に、ListModelタグの子タグとして指定します。 属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
elements 選択肢の元データとなる、現象の区分値一覧を指定します。 通常は参照記法で現象型からの区分値一覧を指定します。 文字列 必須
translator 区分値のリスト中の選択肢文字列を作成する際のトランスレータを指定します。
省略された場合は"default"が適用されます。
文字列 非必須 不可

StaticListValue
任意の値を指定して選択肢を作成する場合に、ListModelタグの子タグとして指定します。 必要な分だけ列挙してください。属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
value 選択肢に対応する値を設定します。
固定文字列か、参照記法による任意の値を指定します。
文字列 必須
text リスト中の選択肢文字列を直接指定したい場合に設定します。
この属性値が設定された場合はtranslator属性は無効になります。
文字列 非必須
translator 区分値のリスト中の選択肢文字列を作成する際のトランスレータを指定します。
省略された場合は"default"が適用されます。
文字列 非必須 不可

ObjectListValue
オブジェクト配列やListを元に選択肢を作成する場合に、ListModelタグの子タグとして指定します。 属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
elements 選択肢の元データとなる、オブジェクトの配列もしくはリストを指定します。 通常は参照記法でコンテント項目を指定する。項目のタイプは"values"である必要があります。 文字列 必須
translator リスト中の選択肢文字列を作成する際のトランスレータを指定します。
省略された場合は"default"が適用されます。
文字列 非必須 不可


Calendarタグ

記述例 :

<Calendar id="計上日付カレンダーアイコン" date="content:CC_XXX_001_Edit/計上日付"/>

説明 :
日付の入力を補助するカレンダーダイアログ及び、その起動元となるGUIコンポーネントを制御するタグです。
画面上の特定のボタン、パネル、ラベル、もしくはそれらをベースとしたカスタムコンポーネント(アイコンなど)と id属性でリンクさせることで、それらをクリックしてカレンダーダイアログを起動できます。

また、date属性で指定した日付の設定先の型がjava.util.Dateなら日付選択カレンダーダイアログ が表示され、
pexa.share.business.YearMonthの場合は年月選択カレンダーダイアログが表示されます。
pexa.share.business.Yearの場合は年選択カレンダーダイアログが表示されます。

固有属性値 :
Calendarタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id カレンダーダイアログを起動するためのボタンやアイコンなどのGUIコンポーネントのname属性値を指定します。 文字列 必須 不可
date カレンダーダイアログで選択した日付の設定先の指定。
通常は参照記法でContent項目を指定します。
文字列 必須
text CalendarタグとマッピングしたコンポーネントがLabelやButton等の文字列を表示できる物の場合に、表示文字列をこの属性で指定することができます。 直接指定したり、参照記法でMessage定義から取得すること等が可能です。 文字列 非必須
position カレンダーダイアログを表示する際に、ダイアログの四隅のどこをポップアップ元コンポーネントに重ねて表示するかの指定です。
以下が指定できます。
  • left_top : ダイアログの左上をポップアップ元コンポーネントに重ねて表示する(デフォルト)
  • left_bottom : ダイアログの左下をポップアップ元コンポーネントに重ねて表示する
  • right_top : ダイアログの右上をポップアップ元コンポーネントに重ねて表示する
  • right_bottom : ダイアログの右下をポップアップ元コンポーネントに重ねて表示する
このタグでマッピングしたアイコンやボタンなどの配置位置によっては、デフォルト指定の場合にウィンドウの外側にはみ出るなどの場合があるので、 この属性で画面デザインに応じて都合のいい表示ポジションを指定して下さい。

省略時は"left_top"になります。
left_top
left_bottom
right_top
right_bottom
非必須
timetype カレンダーダイアログを表示する際に、時刻部分も入力対象かの指定です。
以下が指定できます。
  • none : 時刻登録を行わない(デフォルト)
  • min : 時分の時刻登録を行う
  • sec : 時分秒の時刻登録を行う
  • msec : 時分秒・ミリ秒の時刻登録を行う
編集対象の時・分・秒・ミリ秒にマウスでフォーカスをセットし、Spinnerの上下アイコンでそれぞれの値を変更する。

省略時は"none"になります。
none
min
sec
msec
非必須 不可


Dialogタグ

記述例 : 検索アイコンなどに直接ダイアログを割り当てる場合

<Dialog id="補助勘定科目検索アイコン" page="CP_MT_SubAccountTitleMaster" owner="component">
   <DialogContent content="CC_MT_013_01_Config">
       <inputItem item="勘定科目モデル" from="content:CC_XX_001_01_Edit/勘定科目情報"/>
   </DialogContent>
   <DialogContent content="CC_MT_013_02_EditList">
       <outputItem item="補助勘定科目コード" to="content:CC_XX_001_01_Edit/勘定科目コード"/>
   </DialogContent>
</Dialog>
記述例 : TextFieldやButtonからDIALOGイベント経由で起動されるダイアログの場合
<TextField id="補助勘定科目コードテキストフィールド" text="content:CC_XX_001_01_Edit/勘定科目コード"
           onDoubleClick="DIALOG[補助勘定科目検索ダイアログ]"/>
<Button id="補助勘定科目検索ボタン" onClick="DIALOG[補助勘定科目検索ダイアログ]"/>
<Dialog id="補助勘定科目検索ダイアログ" page="CP_MT_SubAccountTitleMaster" owner="area">
   <DialogContent content="CC_MT_013_01_Config">
       <inputItem item="勘定科目モデル" from="content:CC_XX_001_01_Edit/勘定科目情報"/>
   </DialogContent>
   <DialogContent content="CC_MT_013_02_EditList">
       <outputItem item="補助勘定科目コード" to="content:CC_XX_001_01_Edit/勘定科目コード"/>
   </DialogContent>
</Dialog>
記述例 : 勘定科目が未入力の場合は、Dialog画面を表示せずに入力を促すメッセージを表示する場合
<Dialog id="補助勘定科目検索アイコン" page="CP_MT_SubAccountTitleMaster" owner="component">
   <DialogContent content="CC_MT_013_01_Config">
       <inputItem item="勘定科目モデル" from="content:CC_XX_001_01_Edit/勘定科目情報"/>
   </DialogContent>
   <DialogContent content="CC_MT_013_02_EditList">
       <outputItem item="補助勘定科目コード" to="content:CC_XX_001_01_Edit/勘定科目コード"/>
   </DialogContent>
   <DialogCondition condition="filter:[content:CC_XX_001_01_Edit/勘定科目情報 is not null]" message="勘定科目をまず選択してください"/>
</Dialog>

説明 :
他の画面を、入力補助を行うためのポップアップ画面として呼び出すための制御タグです。
このタグを使用すると、Page定義に画面遷移定義を記述することなく任意の画面を呼び出すことが出来ます。
ただし、その呼び出し方はポップアップ形式に限定されます。

このタグによって呼び出された画面は、フレームワーク内でDialog画面と呼びます。

使用するケースとしては、ある画面上に入力項目としてマスタデータのコードがあり、それがテキストフィールド による任意入力となっている場合に、このタグを使用してマスタ検索を行う画面をポップアップさせて、入力を補助 するような場合があります。

Dialog画面の呼び出し方には、以下の3通りがあります。

  1. GUIコンポーネントに直接id属性でマッピングして、Dialog画面を起動するためのButton等のクリック時に表示
  2. GUIコンポーネントとはマッピングさせずAreaに配置するだけにして、DIALOGイベントを契機に表示する。
  3. GUIコンポーネントとはマッピングさせずAreaに配置するだけにして、showDialog命令で表示する。
上記のどの扱いにするかは、Dialogタグのowner属性で指定します。
1の場合はowner="component"とし、2,3の場合はowner="area"と指定します。

[ポップアップ画面への情報の受け渡し]:
context属性及びsituation属性で、ポップアップ画面の実行コンテキストに任意の名称や状況名を与えることが出来ます。
これは、遷移先の画面側での初期化処理の分岐条件、コンポーネントの有効/無効制御などで使用することが出来ます。
context属性は遷移先画面が行うべき処理を表すような名称を、situation属性は遷移元を表すような名称を指定してください。
例としては以下のようになります。

  例)「見積承認」からの「更新」を行うような場合

    <Dialog page="CP_XXXX" context="更新" situation="見積承認">
        :
        :
    </Dialog>
参照記法のcontext参照を使用することでこの名称を参照できます。

ポップアップ元の画面とポップアップした入力補助画面との間での値の受け渡しは、DialogContentタグの記述に従って行われます。
DialogContentの子タグのinputItemタグを使用して、ポップアップ元からポップアップした画面への値の受け渡しを記述します。
  例)呼出元の「勘定科目情報」をポップアップ画面の「勘定科目モデル」というContentItemに渡す

    <DialogContent content="CC_MT_013_01_Config">
        <inputItem item="勘定科目モデル" from="content:CC_XX_001_01_Edit/勘定科目情報"/>
    </DialogContent>

[ポップアップ画面からの情報の受け取り]:
呼出元の画面がポップアップした入力補助画面から値を受け取る場合にも、DialogContentタグを記述して行います。
DialogContentの子タグのoutputItemタグを使用して、ポップアップした画面からポップアップもと画面への値の返却を記述します。

  例)ポップアップ画面の「勘定科目No」を呼出元画面の「勘定科目No」というContentItemに渡す

    <DialogContent content="CC_MT_013_02_EditList">
        <outputItem item="勘定科目No" to="content:CC_XX_001_01_Edit/勘定科目No"/>
    </DialogContent>
なお、ポップアップした画面が終了した際はポップアップ元画面に子画面終了のイベントが送信されますが、その際の処理順は以下のようになります。
  1. まず、呼び出し元画面に子画面終了イベント(CHILD_CLOSED、もしくはevent属性で指定されたイベント)が送信される。
  2. 次に、DialogContentのoutputItemタグで指定された値が呼び出し元画面に受け渡される。
このため、Dialogタグによってポップアップした画面から値を受け取って、そのまま続けて呼び出し元画面で何らかの処理を行う場合は、 子画面終了イベントではなくDialogタグのonChange属性もしくはContentItemのtriggerによって行って下さい。 そうしないと、値を受け取る前に呼び出し元画面で処理が動くことになるので意図した通りの動作となりません。

固有属性値 :
Dialogタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id ここで指定する値は、owner属性の値によって違います。
  • owner="component"の場合
    Dialogを起動するためのボタンやアイコンなどのGUIコンポーネントのname属性値を指定します。
  • owner="area"の場合
    Area内でユニークな任意のIDを割り当ててください。DIALOGイベントでこのIDが指定されます。
文字列 必須 不可
page Dialogとして呼び出す画面のページIDを指定します。 文字列 必須 不可
owner Dialog画面の呼び出し方法に関する設定です。
ボタンやアイコンなどのGUI部品に直接マッピングする場合は"component"と指定し、
GUI部品とのマッピングは行わずDIALOGイベントで表示する場合は"area"と指定します。
省略時は"component"がデフォルトで適用されます。
component,
area
非必須 不可
text owner="component"の場合に、DialogタグとマッピングしたコンポーネントがLabelやButton等の文字列を表示できる物の場合に、表示文字列をこの属性で指定することができます。 直接指定したり、参照記法でMessage定義から取得すること等が可能です。 文字列 非必須
modal Dialogタグからポップアップする画面をモーダルにするか非モーダルにするかを指定します。
省略時はtrue(モーダル指定)として扱われます。
true,
false
非必須 不可
context Dialogタグからポップアップする画面に渡す実行コンテキスト名を指定します。
遷移先画面が行うべき処理を表すような名称を指定して下さい。
文字列 非必須
situation Dialogタグからポップアップする画面に渡す実行シチュエーションを指定します。
遷移元を表すような名称を指定してください。
文字列 非必須

任意のオプション設定として、DialogContentタグDialogConditionタグがあります。

DialogContentタグ

DialogのContent項目と呼び出し元のContent項目をリンクさせるためのタグです。
呼び出し側からDialogへパラメータを渡すことも出来ますし、Dialogから呼び出し元に値を返すことも出来ます。

固有属性値 :
DialogContentタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
content Dialog側のContentのIDを指定します。 文字列 必須 不可

DialogContentのサブ要素として、inputItemタグ及びoutputItemタグがあります。
このタグによって、呼び出し元とDialogのContent項目をリンクさせます。

inputItem
呼び出し元からDialogに対して渡す入力パラメーターの指定です。
入力補助画面に対して呼び出し元から検索条件を渡すような場合に使用します。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item Dialog側のContent項目IDを指定します。 文字列 必須 不可
from 呼び出し元からDialogに渡す値を指定します。
直接指定や参照記法によるContent項目の指定などができます。
文字列 必須

outputItem
Dialogから呼び出し元に対して渡す出力パラメーターの指定です。
入力補助画面での検索結果を呼び出し元に返すような場合に指定します。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item Dialog側のContent項目IDを指定します。 文字列 必須 不可
to Dialogから呼び出し元に値を返す先を指定します。
基本的には参照記法でContent項目を指定します。
文字列 必須

DialogConditionタグ

Dialog画面表示の前提条件を指定するタグです。
condition属性で指定された条件のtrue/falseを判定し、falseになった場合はmessage属性で指定された内容をメッセージダイアログで表示してDialog画面自体の表示は行いません。

DialogConditionタグは複数個指定することができます。複数指定された場合は上から順に判定していき、一つでも判定結果がfalseになった場合はその時点のメッセージが表示されて終了します。

Dialog画面を表示するトリガとなるComponent(ボタンやアイコンなど)のvisible属性やenabled属性以外でDialog画面表示の有無を制御したい場合に使用してください。

固有属性値 :
DialogConditionタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
condition Dialog画面表示の前提条件を指定します。
filter参照もしくはBoolean値のContentItem等を指定してください。
文字列 必須
message 前提条件に引っかかった場合に表示するメッセージ内容を指定します。 message参照を通常は指定します。 文字列 必須


DynamicFormタグ

記述例 :

<DynamicForm id="動的フォームPanel" inset="2"
            items="content:CC_TEST_DynamicForm/項目メタ情報リスト" 
            values="content:CC_TEST_DynamicForm/入力値モデルリスト">
    <DynamicFormValue model="TestDynamicFormValue" key="DF_ItemNo" value="ItemValue"/>
    <DynamicFormLabel background="color:LIGHT_GRAY"/>
    <DynamicFormField width="200" height="24" length="15"/>
    <DynamicFormCombination direction="horizontal"/>
</DynamicForm>

動的フォームの制御タグです。
動的フォームとは、画面上で扱う項目が画面実行時に動的に決定される入力フォームです。
このDynamicFormタグが動的フォームフレームワークの制御部となります。

このタグでマッピングする具体的なGUI部品はJPanelとなります。
id属性で指定されたname属性値を持つJPanelの上に、動的フォームフレームワークが項目メタ情報に従って入力フィールドを配置します。
なお、他のGUIコンポーネントと違い、動的フォームは初期化や入力確定のタイミングを実行エンジン側で決めることができません。
そのため、制御を行うための専用のCommand命令として、operateDynamicForm命令が用意されています。

このDynamicFormタグによる動的フォームは、他のコンポーネントタグで制御するGUI部品と比べて使用用途や注意点などが異なります。
詳細はサポートフレームワークガイドに別途記載しますので、詳細はこちらを参照して下さい。

固有属性値 :
DynamicFormタグの固有属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
items 項目メタ情報リストの取得元を指定します。PEXAが標準で提供するDF_Itemモデルのリストになります。
基本的に参照記法でcontent項目を指定します。
文字列 必須
values 動的フォーム上で入力された値を保存するデータモデルのリストの設定先を指定します。
ここで指定するデータモデルの名前や、値を保持する現象型などは後述のDynamicValueタグで指定します。
基本的に参照記法でcontent項目を指定します。
文字列 必須
inset 動的フォーム上に並べられる各入力フィールド間に空ける隙間のサイズを指定します。 数値 必須 不可
DynamicFormValueタグ

DynamicFormValueタグは、動的フォーム上で入力された値を記録するデータモデルに関する設定です。
この入力値を記録するデータモデルは、各プロジェクトで任意のデータモデルを用意して下さい。
そのデータモデルでは、Key&Value形式で入力値を記録することを想定しています。
項目メタ情報のProxy値(DF_ItemNo)と、入力値(String)を保持する現象型を記録用データモデルに必ず持たせて下さい。

固有属性値 :
DynamicFormValueタグの固有属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
model 入力値を記録するデータモデルの名前を指定します。 文字列 必須 不可
key model属性で指定したデータモデルが持つ、項目メタ情報のProxy値(DF_ItemNo)を記録する現象型の名前を指定します。 文字列 必須 不可
value model属性で指定したデータモデルが持つ、入力値(String)を記録する現象型の名前を指定します。 文字列 必須 不可

DynamicFormLabelタグ

DynamicFormLabelタグは、動的フォーム上に配置される、項目名を表示するラベルに関する設定です。
このタグの設定に従い、各項目用の入力フィールドとペアで表示されます。

固有属性値 :
DynamicFormLabelタグの固有属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
background 項目名を表示するラベルの背景色を指定します。
基本的にcolor参照等の参照記法で色を指定します。
文字列 非必須
foreground 項目名を表示するラベルの前景色を指定します。
基本的にcolor参照等の参照記法で色を指定します。
文字列 非必須

DynamicFormFieldタグ

DynamicFormFieldタグは、動的フォーム上に配置される、項目の入力フィールドに関する設定です。
このタグの設定に従い、各項目用の入力フィールドが項目名ラベルとペアで表示されます。

固有属性値 :
DynamicFormFieldタグの固有属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
background 項目名を表示するラベルの背景色を指定します。
基本的にcolor参照等の参照記法で色を指定します。
文字列 非必須
foreground 項目名を表示するラベルの前景色を指定します。
基本的にcolor参照等の参照記法で色を指定します。
文字列 非必須
width 入力フィールドの横幅の指定です。 数値 必須 不可
height 入力フィールドの高さの指定です。 数値 必須 不可
length 入力フィールド上で入力できる最大文字数の指定です。
DynamicValueタグのvalue属性で指定した現象型がマッピングされるDBカラムのサイズに合わせて指定して下さい。
数値 必須 不可

DynamicFormCombinationタグ

DynamicFormCombinationタグは、項目メタ情報でCombinationタイプに指定された項目の子項目に関する設定です。
このタグの設定に従い、子項目の入力フィールドの配置が決まります。

固有属性値 :
DynamicFormCombinationタグの固有属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
direction 子項目の入力フィールドを配置する方向を指定します。
横方向に広がるか、縦方向に広がるかを指定します。
horizontal,
vertical
必須 不可


TabbedPaneタグ

記述例 :

<TabbedPane id="在庫金額一覧タブペイン" selectedTab="content:CC_XXX_001/選択タブ">
    <Tab title="製品在庫金額"/>
    <Tab title="商品在庫金額"/>
    <Tab title="製品未着品在庫金額"/>
</TabbedPane>

タブ領域に対応する制御タグです。
ここでのタブ領域は、Page内でAreaを分割配置するためにしようされる物ではなく、 例えば一つのArea内で複数個のTableを配置したい場合などに使用されているようなものを指します。

現在選択されているタブのタイトルを指定された設定先に保存したり、各タブに対して任意のタイトルを設定することができます。

サブ要素として、タブ領域中に配置される一枚一枚のタブに対応するTabタグがあります。

固有属性値 :
TabbedPaneタグは以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
selectedTab 現在選択されているタブのタイトル設定先を指定します。
また、この項目の値をAction等で設定することで選択タブの切り替えが出来ます。
通常は参照記法でContent項目を指定します。
文字列 非必須
onChange ユーザー操作によってタブ選択が行われた際に発行したいイベント名を指定します。 文字列 非必須 不可

任意のオプション設定として、Tabタグがあります。

Tabタグ

タブ領域中に配置される個々のタブに対応するタグです。
タブ領域内のインデックスとTabタグの並び順が対応します。

属性値名 説明 形式 必須/非必須 参照記法可/不可
title タブのタイトル文字列を指定します。 文字列 必須
enabled 個々のタブ毎に対しての有効/無効を指定します。
参照記法で条件式もしくはBoolean値を指定します。
省略時はtrueとして扱われます。
true,
false
非必須


Treeタグ

記述例 :

<Tree id="部門集計ツリー" expand="true" selectMode="single"
      selectedNode="content:CC_MT_002_02_EditList/選択会計部門集計ツリーノード">
    <TreeModel tree="content:CC_MT_002_02_EditList/会計部門集計ツリーモデル"/>
</Tree>

ツリーコンポーネントに対応する制御タグです。
何らかのデータを画面上でツリー形式で表示して操作したい場合に使用します。

ツリーコンポーネントは、使用目的が多岐にわたり汎化が困難なので、このタグによる制御内容はきわめて限られます。 以下のような制御が行われます。

  • TreeModelの読み込みと表示
  • 選択モード指定(単数、複数)
  • 単数選択ノードをContent項目に保存
  • 複数選択ノードをContent項目に保存
基本的にこのコンポーネントを使用する際は、プログラミングによるHelperクラスの作成が必須と考えて下さい。 組み合わされるHelperクラスは、ContentProcedureContentActionが主な物となります。

ツリーコンポーネントで表示するツリーデータは、HelperクラスのContentProcedureで作成します。 ContentProcedure内でツリー表示する元データを参照し、その結果をjavax.swing.tree.TreeModelオブジェクトとして返して下さい。

固有属性値 :
Treeタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
selectMode ツリー内のノードの選択モードを指定します。以下のモードがあります。
  • none : 選択を行わないで表示のみ
  • single : 単一選択のみ可
  • contiguous : 連続しているノードのみ複数選択可
  • discontiguous : 制限無しで複数選択可
none,
single,
contiguous,
discontiguous
必須 不可
selectedNode 単一選択されたノードの保存先の指定。
参照記法でContent項目を指定する。
これにより設定されるオブジェクトは、javax.swing.tree.TreeNodeオブジェクトとなる。
文字列 必須
multiSelectedNodes 複数選択されたノードの保存先の指定。
参照記法でContent項目を指定する。
これにより設定されるオブジェクトは、javax.swing.tree.TreeNodeオブジェクトが格納されたListとなる。
文字列 必須
expand ツリーの内容を表示した時に、ノードを展開するか閉じたままにしておくかの指定。
省略時はデフォルトでfalseになる。
true,
false
必須 不可
onClick ツリーのノードをクリックした際の発行イベント名を指定する。 文字列 非必須 不可
onDoubleClick ツリーのノードをダブルクリックした際の発行イベント名を指定する。 文字列 非必須 不可

オプション設定 :
必須のオプション設定として、TreeModelがあります。

TreeModel

ツリーの内容を設定する必須のオプションです。
ツリーに表示する内容をtree属性で指定します。
TreeModelタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
tree ツリーに表示させるjavax.swing.tree.TreeModelの取得元を指定する。
通常は参照記法でコンテント項目を指定し、そこからHelperクラスのContentProcedureを呼び出す。
文字列 必須


Linkタグ

記述例 :

<Link id="履歴リンク" text="履歴" onClick="COMMAND[履歴参照]"/>

リンクコンポーネントに対応する制御タグです。
HTMLによるリンクに似せた形のコンポーネントで、クリック時にイベントを発行することが出来ます。
このコンポーネントの働きはButtonと同一です。

固有属性値 :
Linkタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
text リンクに表示させる文字列の指定 文字列 非必須
onClick リンクがクリックされた時に発行するイベント名の指定
イベント名はあらかじめフレームワーク側で予約されているものと、任意に定義できるものがあります。
詳細は、コンポーネントから送信されるイベントを参考にしてください。
文字列 非必須 不可


MenuButtonタグ

記述例 :

<MenuButton id="menubutton1" text="ボタン1"<
    <PopupMenu>
        <Menu text="メニュー1">
            <MenuItem text="メニュー項目1" onClick="COMMAND[メニューコマンド1]"/>
            <MenuItem text="メニュー項目2" onClick="COMMAND[メニューコマンド2]"/>
        </Menu>
        <Menu text="メニュー2">
            <MenuItem text="メニュー項目3" onClick="COMMAND[メニューコマンド3]"/>
            <MenuItem text="メニュー項目4" onClick="COMMAND[メニューコマンド4]"/>
        </Menu>
    </PopupMenu>
</MenuButton>

ボタン押下することでポップアップメニューを表示するボタンの制御タグです。
ツールバーなどに配置したアイコンからメニューを表示させたいような場合に使用して下さい。

ポップアップメニューの内容はPopupMenuタグで指定します。
記述形式は右クリックメニューでの形式と同じとなります。

固有属性値 :
MenuButtonタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
text ボタンに表示させる文字列の指定 文字列 非必須


MenuBarタグ

記述例 :

<MenuBar id="menubar">
    <Menu text="ファイル">
        <Menu text="新規作成">
            <MenuItem text="新しいウィンドウ(モーダル)" onClick="COMMAND[新規ウィンドウ生成(モーダル)]"/>
            <MenuItem text="新しいウィンドウ(非モーダル)" onClick="COMMAND[新規ウィンドウ生成(非モーダル)]"/>
        </Menu>
        <MenuSeparator/>
        <Menu text="画面遷移">
            <MenuItem text="画面遷移テスト画面へ" onClick="COMMAND[画面遷移テスト画面に遷移]"/>
        </Menu>
        <MenuSeparator/>
        <MenuItem text="閉じる" onClick="終了"/>
    </Menu>
    <Menu text="ヘルプ">
        <MenuItem text="ヘルプ表示" onClick="COMMAND[ヘルプ表示]"/>
    </Menu>
</MenuBar>

ウィンドウに付けるメニューバーに対応する制御タグです。
このタグを使用して、メニューバーの内容を定義することが出来ます。

このタグは、あらかじめSwingのGUIコンポーネントを用意する必要はありません。
記述するだけでGUIのウィンドウ上にメニューバーが構築されます。
なお、このタグはメニューバーエリアレイアウトとセットで使用してください。

固有属性値 :
MenuBarタグには固有属性値はありませんが、id属性には固定で"menubar"と指定してください。

オプション設定 :
オプション設定のタグとして、Menuタグ、MenuItemタグ、MenuSeparatorタグがあります。

Menuタグ

メニュー項目(MenuItem)を格納するプルダウンメニューを表すタグです
子要素として、Menuタグ、MenuItemタグ、MenuSeparatorタグを持つことができます。
Menuタグはネストさせることが出来ます。その場合は、階層化されたメニューを構築できます。
また、MenuSeparatorタグを指定すると、その位置に分割線を挿入することが出来ます。 Menuタグの属性値の意味は以下の通り

属性値名 説明 形式 必須/非必須 参照記法可/不可
text 表示するメニュー項目の文字列指定 文字列 必須

MenuItemタグ

末端のメニュー項目一つ一つを表すタグです
MenuItemタグはMenuタグの子要素として記述します。このタグは子要素を持ちません。
このタグで表されたメニュー項目を画面上で選択することで、onClick属性で指定したイベントをエリアに対して発行することができます。
なお、ある条件下でメニュー項目の有効無効を切り替えたい場合は、enabled属性でその条件を指定することができます。
また、メニュー項目の表示非表示を切り替えたい場合は、visible属性でその条件を指定することが出来ます。

MenuItemタグの属性値の意味は以下の通り

属性値名 説明 形式 必須/非必須 参照記法可/不可
text 表示するメニュー項目の文字列指定 文字列 必須
onClick メニュー項目がクリックされた際に発行するイベント名
指定されていない場合、そのノードをクリックしても何も起きません
文字列 必須 不可
enabled メニュー項目の有効無効を指定する。
通常は参照記法でfilter判定条件やcontent項目などを指定する。
true,
false
非必須
visible メニュー項目の表示非表示を指定する。
通常は参照記法でfilter判定条件やcontent項目などを指定する。
true,
false
非必須

MenuSeparatorタグ

プルダウンメニュー中の分割線を表すタグです。
Menuタグの子要素として記述すると、プルダウンメニュー中の該当位置に分割線が表示されます。
このタグは子要素を持ちません。

MenuSeparatorタグには属性値はありません。


プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.MenuBar.Font.name メニューバーのフォント名設定
VirtualComponent.MenuBar.Font.style メニューバーのフォントスタイル設定
VirtualComponent.MenuBar.Font.size メニューバーのフォントサイズ設定


Spinnerタグ

記述例 : 数値を0.1刻みで増減して入力したい場合

<Spinner id="数量入力スピナー" value="content:CC_AAA_BBBB/数量">
    <SpinnerModel>
        <NumberSpinnerValue min="0" max="20" step="0.1"/>
    </SpinnerModel>
</Spinner>
記述例 : 西暦を1刻みで増減して入力したい場合
<Spinner id="西暦入力スピナー" value="content:CC_AAA_BBBB/西暦">
    <SpinnerModel>
        <NumberSpinnerValue min="1970" max="2999" step="1" groupping="false"/>
    </SpinnerModel>
</Spinner>

順序付けられたシーケンスから数またはオブジェクトを選択できるようにする単一行の入力フィールドに対応するための制御タグです。
テキストフィールドの横に上下ボタンが付いているようなタイプの入力用コンポーネントで、数値等をボタン押下もしくはキーボードの上下キーで増減させることが出来ます。

固有属性値 :
Spinnerタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
value このスピナーが取り扱う値の指定です。
基本的には参照記法でContent項目を指定します。
文字列 必須

オプション設定 :
必須のオプション設定として、SpinnerModelがあります。

SpinnerModelタグ

スピナーで取り扱う値に関する設定の必須オプションです。
取り扱う値のタイプ(数値など)によって、子タグが用意されます。

NumberSpinnerValue
数値をスピナーで扱う場合に、SpinnerModelタグの子タグとして指定します。
属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
min 上下ボタンもしくはキーボードの上下キーによる値の増減を行う際の、最小値の指定です。 数値 非必須
max 上下ボタンもしくはキーボードの上下キーによる値の増減を行う際の、最大値の指定です。 数値 非必須
step 上下ボタンもしくはキーボードの上下キーによる値の増減を行う際の、一操作毎の増減幅を指定します。
0.1と指定されると、ボタンやキー操作後との値が0.1ずつ増減します。
数値 必須
groupping 3桁ずつのカンマ区切りを行うかの指定。
省略された場合はtrueとなる。
true,
false
非必須


HTMLPaneタグ

記述例 : 作成済みのHTMLデータをそのまま表示

<HTMLPane id="お知らせ情報領域" html="content:CC_AAA_BBBB/お知らせ内容HTMLデータ"/>
記述例 : テンプレートと組み合わせて動的に表示内容を作成
<HTMLPane id="オーダ一覧">
    <HTMLDocument template="env/template/オーダ一覧/オーダ一覧外枠.vm"
                  stylesheet="env/template/style/default.css">
        <HTMLFragment key="date" source="calendar:TODAY" translator="default"/>
        <HTMLFragment key="orders" source="content:CC_WKRF_001_EditList/オーダ一覧内容" translator="オーダ一覧"/>
    </HTMLDocument>
</HTMLPane>

HTMLデータの表示を行うコンポーネントの制御タグです。
作成済みのstaticなデータを表示したり、テンプレートと組み合わせて動的に表示内容を生成することができます。

静的な内容を表示する場合はhtml属性でHTMLデータ(文字列データ)を指定します。
動的に表示内容を生成する場合は、HTMLDocumentオプションを指定してその中でテンプレート及びパラメータを指定します。

固有属性値 :
EditorPaneタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
html 領域に表示するHTMLの内容を指定します。
参照記法にてHTMLデータをContentから取得するのが基本的な指定となります。
文字列 非必須
base HTMLの内容を表示する場合のBaseを指定します。
参照記法にてBaseのパスをContentから取得するためで、HTML内にImage等などの参照があるときに指定します。
文字列 非必須

オプション設定 :
表示内容を動的に生成する場合に必須となるオプション設定として、HTMLDocumentがあります。

HTMLDocumentタグ

動的に生成するHTMLデータを定義するオプション設定です。
HTMLデータ全体のテンプレートを指定します。
子タグとして、テンプレートに与えるパラメータの指定となるHTMLFragmentタグがあります。

以下のような流れで処理されます。

  1. HTMLFragmentの内容が全て評価されて、テンプレートに渡されるパラメータとして準備される
  2. テンプレートに対してパラメータが渡されて、表示されるHTMLデータが動的に生成される。
  3. 生成されたHTMLデータがコンポーネントに表示される

HTMLDocumentタグの属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
template 表示するHTMLデータ全体を表すテンプレートを指定します。
基本は"env/template/テンプレートファイル名"という形式で指定します。これはクラスパス内での相対パスでの指定となります。
もしengine属性が指定されていない場合は、ここで指定されるテンプレートファイルの拡張子から使用されるテンプレートエンジンが決定されます。
文字列 必須 不可
stylesheet 表示するHTMLに対して適用したいスタイルシートがあればここで指定します。
なければ省略可能です。
基本は"env/template/style/スタイルシートファイル名"という形式で指定します。これはクラスパス内での相対パスでの指定となります。
文字列 非必須 不可
engine templateを読み込んでHTMLデータを生成するテンプレートエンジンの種類を指定します。
現在指定できるエンジンは以下の2種類です。
  1. FreeMarker : こちらが推奨のテンプレートエンジンです。
  2. Velocity : 選択できますが、パス文字列が使用できないなどのデメリットがあります。
指定がない場合は、template属性で指定されたテンプレートファイルの拡張子から使用するエンジンが決められます。 ".vm"であればVelocityとなり、".ftl"であればFreeMarkerとなります。
FreeMarker,
Velocity
非必須 不可

HTMLFragment
HTMLDocumentタグで指定されたテンプレートに対して与えるパラメータを指定するためのオプション設定です。HTMLDocumentの子タグとして記述します。
パラメータのキー名、パラメータ値の取得元、パラメータ値を文字列変換するためのtranslatorをここで指定します。

ここで指定されたパラメータは、次のような流れで処理されます。

  1. source属性で指定された値が取得される。
  2. translator属性で指定されたトランスレータにより、source属性で指定された値が文字列に変換される。
  3. key属性で指定されたパラメータキーにより、テンプレートにパラメータが渡される。
source属性で指定する値は、単体でもリストでもどちらでも可です。
もし値がリストになる場合、テンプレートに渡される値はその順序を保ったままtranslatorによって変換された文字列のリストになります。

sourceとtranslatorは互いに関連のある物を指定します。
例えば、sourceがContent項目でtype="model"やtype="models"の場合、translatorにはModelTranslatorを指定します。
sourceが値の場合はtranslatorにはクラストランスレータを指定します。

HTMLFragmentタグの属性値として以下の物があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
key HTMLデータ全体のテンプレートに与えるパラメータのキー名を指定します。 文字列 必須 不可
source パラメータの取得元を指定します。
基本的には参照記法でContent項目や日付などを指定します。
また、ここで指定する対象は単体の値やモデルでも、リストでも可です。 もしリストが指定された場合は、translatorによって変換された後にテンプレートに渡されるパラメータ値もリストになります。
文字列 必須
translator source属性で指定したパラメータ値を文字列変換するためのtranslatorを指定します。
指定しなかった場合はデフォルトトランスレータが適用されます。
文字列 非必須 不可

プロパティファイルでのデフォルト設定

プロパティファイルで以下のデフォルト設定を行うことが出来ます。

設定キー 説明
VirtualComponent.HTMLPane.TemplateEncoding HTML表示領域のテンプレートファイルエンコーディング指定


Panelタグ

記述例 : 画面上の特定のサブパネルの表示/非表示を制御したい場合

<Panel id="入力部パネル" visible="filter:[content:CC_AAA_001/入力フラグ = TRUE]"/>
記述例 : Helperクラスで生成した特殊なコンポーネントを画面上に載せる場合
<Panel id="グラフ表示パネル" addOn="content:CC_AAA_001/グラフ表示コンポーネント"/>
記述例 : パネルのタイトルボーダーを国際化対応する場合
<Panel id="ヘッダ部入力部パネル">
    <TitledBorder title="message:CM_ITEM/M_100001">
</Panel>

画面上に配置されているサブパネルの制御レイアウトです。
このタグの使用目的は主に以下の三つになります。

画面上のサブパネルに対して制御を行いたい場合
画面上に配置されているサブパネルに対する制御を行いたい場合です。
例えば、以下のようなケースが考えられます。

  • 実行ボタンを並べたサブパネルを丸ごと不可視にしたい(visible属性による制御)
  • サブパネルに対して定義ファイル上から背景色を指定したい(background属性による制御)
Helperクラスなどで生成した特殊なコンポーネントを画面に貼り付けたい場合
画面上に配置されているサブパネル上に、特殊なコンポーネントを貼り付けたいような場合です。
これは、あらかじめ静的に画面パネル上に部品を配置できないような場合が考えられます。
このような場合は基本的に以下のような形で実装してください。
  • Contentのitemとして対象のコンポーネントを値(type="value")としてあらかじめ定義しておく
  • ContentのActionをHelperクラスとして実装し、その中で対象コンポーネントを準備する
  • 準備したコンポーネントをContentに対してHelperクラス内からsetする
  • PanelタグのaddOn属性で対象コンポーネントを参照記法で指定する
パネルのタイトルボーダーに対して制御を行いたい場合
パネルの装飾としてタイトルボーダーを使用している場合に、タイトル文字列の表示を国際化対応したい場合です。
TitledBorderオプションを子タグとして記述することで対応することが出来ます。

固有属性値 :
Panelタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
addOn パネル上に載せたいコンポーネントの取得元を指定します。
Helperクラス等で生成した特殊なコンポーネントを画面上に配置したい場合に使用します。
文字列 非必須

オプション設定 :
任意のオプション設定として、TitledBorderタグがあります。

TitledBorderタグ

パネルを装飾するタイトルボーダーの制御を行うためのオプション設定です。

固有属性値 :
TitledBorderタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
title タイトルボーダーで表示するタイトル文字列の指定です。 文字列 必須


ToggleButtonGroupタグ

記述例1 : 単数選択のトグルボタングループ

<ToggleButtonGroup id="単数選択トグルボタングループ" selectMode="single" selectedItem="content:CC_XXX_Edit/選択トグル値">
    <ToggleButton id="トグルボタン1" on="選択1"/>
    <ToggleButton id="トグルボタン2" on="選択2"/>
    <ToggleButton id="トグルボタン3" on="選択3"/>
    <ToggleButton id="トグルボタン4" on="選択4"/>
</ToggleButtonGroup>

記述例2 : 複数選択のトグルボタングループ

<ToggleButtonGroup id="複数選択トグルボタングループ" selectMode="multiple" multiSelectedItems="content:CC_XXX_Edit/選択トグル値リスト">
    <ToggleButton id="トグルボタン1" on="選択1"/>
    <ToggleButton id="トグルボタン2" on="選択2"/>
    <ToggleButton id="トグルボタン3" on="選択3"/>
    <ToggleButton id="トグルボタン4" on="選択4"/>
</ToggleButtonGroup>

ToggleButtonという、押した状態が保持されるタイプのボタンのグループを制御するためのコンポーネントタグです。
このToggleButtonGroupは、selectMode属性の指定によって、RadioButtonGroupもしくはCheckBoxGroupと同等の動きをさせることができます。

  • selectMode="single"の場合は、グループ中のToggleButtonのどれか一つが排他で選択状態となります。RadioButtonGroupと同等になります。
  • selectMode="multiple"の場合は、グループ中のToggleButtonを複数個同時に選択可能となります。CheckBoxGroupと同等になります。
また、selectMode="multiple"の場合のみ、allButtonSelector属性の指定で一括選択、一括解除を行うためのコンポーネントを指定することができます。
ここで指定できるコンポーネントはJToggleButtonもしくはJCheckBoxとなります。

固有属性値 :
ToggleButtonGroupタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
selectMode ToggleButtonGroupの選択モード指定です。以下の二つのうちどちらかを指定します。
  1. single : 単一選択モード。どれか一つのToggleButtonのみが選択状態となります。
  2. multiple : 複数選択モード。同時に複数のToggleButtonを選択状態にできます。
省略時はデフォルトで"single"となります。
文字列 selectMode="single"の場合に必須 不可
selectedItem selectMode="single"の場合の、初期表示値及び、選択した値の設定先の指定。
この選択値は単数値となる。通常は参照記法でコンテント項目を指定する。
文字列 非必須 不可
multiSelectedItems selectMode="multiple"の場合の、初期表示値及び、選択した値リストの設定先の指定。
この選択値は複数値となる。通常は参照記法でコンテント項目を指定する。
文字列 selectMode="multiple"の場合に必須 不可
allButtonSelector selectMode="multiple"の場合に指定できる、全選択コンポーネントの指定。
ToggleButtonGroup中に属していない、単独のJToggleButtonもしくはJCheckBoxのGUIコンポーネントのname属性値を指定することで、 そのGUIコンポーネントが押されたタイミングでToggleButtonGroup中の全てのToggleButtonを一括で選択もしくは解除できるようになります。
文字列 非必須(selectMode="multiple"の場合のみ有効) 不可

オプション設定 :
必須のオプション設定として、ToggleButtonタグがあります。

ToggleButtonタグ

トグルボタンのグループに所属する、一つ一つのトグルボタンのGUIコンポーネントの指定です。
グループに所属するトグルボタンの数だけ列挙してください。

ToggleButtonタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id ToggleButtonのGUIコンポーネントのname属性を指定します。 文字列 必須 不可
text トグルボタンの横に表示する文字列を指定します。 文字列 非必須
on このトグルボタンに割り当てる値を指定します。
選択された項目を表す文字列を指定したり、参照記法で特定の値(現象の区分値など)を指定することが出来ます。
文字列 必須
visible 対応するトグルボタンの表示、非表示を指定できます。
参照記法で条件式もしくはBoolean値を指定します。
true,
false
非必須


Pluginタグ

記述例 : カスタムGUI部品[CustomizedTable]をフレームワークと接続する。

<Plugin id="カスタムテーブル" gui="sample.client.view.swing.component.gui.CustomizedTable">
    <PluginParameter key="TableDataList" value="content:CC_XXX_EditList/TableDataList"/>
    <PluginParameter key="SelectedRow" value="content:CC_XXX_EditList/SelectedRowData"/>
</Plugin>

Pluginタグは、カスタマイズされた独自のGUI部品をフレームワークと接続するためのコンポーネントタグです。
フレームワークで用意されているコンポーネントタグでは機能が足りない場合や、ある画面でのみ必要とされる独自性が強い一品物のGUIを作成したい場合にこのタグを使用します。

カスタムGUI部品の実装クラスはgui属性で指定します。ここで指定される実装クラスはPEXAで用意している以下のインタフェースをimplementsしている必要があります。

  • pexa.client.std.view.swing.component.PluginComponent
上記インタフェースには、フレームワークがコールバックするメソッドが定義されており、これを実装することによりフレームワークと接続できるようになっています。
このインタフェースの詳細についてはこちらを参照してください。

カスタムGUI部品とフレームワーク間のパラメータ指定
フレームワークからカスタムGUI部品に渡すパラメータや、カスタムGUI部品からフレームワークに渡すパラメータについては、PluginParameterタグで指定します。 パラメータはkeyとvalueの組み合わせで表現し、value属性では参照記法を使用できるので、ここでContentのItemを指定することもできます。
ここで指定されたパラメータは、カスタムGUI部品のjavaコード内で自由に参照することができますし、参照記法でContentのItemを指定している場合は値のread/writeが可能となります。

固有属性値 :
Pluginタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
gui フレームワークに接続したいカスタムGUI部品の実装クラスを指定します。
ここで指定する実装クラスは、pexa.client.std.view.swing.component.PluginComponentというインタフェースをimplementsしている必要があります。
文字列 必須 不可

オプション設定 :
カスタムGUI部品とフレームワーク間でやりとりするパラメータを指定するためのオプション設定として、PluginParameterがあります。

PluginParameterタグ

keyおよびvalueの組で、カスタムGUI部品がフレームワークとやりとりするパラメータを定義できます。
key属性で指定されたパラメータキーをカスタムGUI部品内で指定することで、対応する値もしくは参照オブジェクトを取得することができます。

value属性に参照記法でContentのitemを指定すれば、カスタムGUI部品からContentの値を読み込むことも書き込むことも可能になります。

固有属性値 :
PluginParamterタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
key カスタムGUI部品とやりとりするパラメータのキー名を指定します。 文字列 必須 不可
value パラメータの値を指定します。固定値の指定、参照記法による指定が可能です。 文字列 必須


Clearタグ

記述例1 : 一つのContentItemの値をクリアする

<Clear id="クリアアイコン" item="content:CC_XXX_Config/検索条件1"/>
記述例2 : 複数のContentItemの値を一度にクリアする
<Clear id="クリアアイコン">
    <ClearItem item="content:CC_XXX_Config/検索条件1"/>
    <ClearItem item="content:CC_XXX_Config/検索条件2"/>
    <ClearItem item="content:CC_XXX_Config/検索条件3"/>
</Clear>

Clearタグは、指定された項目の値をクリア(null設定)するためのコンポーネントタグです。
CommandやActionを呼び出さずに、項目のnull設定を行うためのアイコン(ボタンやラベルなど)として使用することができます。
クリア対象は単一の項目のみ指定することもできますし、複数個の項目を一度にクリアする対象に指定することもできます。

このタグで行える、「クリア」とは項目に対するnull値上書き設定です。
これはActionおよびCommandでの以下のような命令実行と等価になります。

Actionの場合

<set item="検索条件1" value="static:null"/>

Commandの場合

<setValue to="content:CC_XXX_Config/検索条件1" value="static:null"/>

なお、Actionのremove命令とは動作が違うことに注意してください。remove命令を使用した場合はContentItemは初期値にリセットされますが、 Clearタグでのクリアはあくまでnull値を設定するという動作になるので初期値へのリセットは発生しません。

固有属性値 :
Clearタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item クリア対象の項目を指定します。
単一の項目のみをクリア対象にする場合にこの属性値を指定します。
複数個の項目をクリア対象にしたい場合は子タグのClearItemタグで指定します。
通常は参照記法でContentItemを指定します。
文字列 非必須

オプション設定 :
複数個のクリア対象項目を指定するためのオプション設定として、ClearItemがあります。

ClearItemタグ

クリア対象の項目を指定します。
このタグは複数個列挙できるので、クリア対象が複数個或る場合はこのタグを使用してください。

固有属性値 :
ClearItemタグの固有属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item クリア対象の項目を指定します。
通常は参照記法でContentItemを指定します。
文字列 必須


更新情報

  • 最終更新者 : $Author: tann $
  • 最終更新日時 : $Date:: 2016-04-11 10:29:57 #$
  • バージョン : $Revision: 8440 $



Copyright © 2006, Atrris Corporation