コンポーネント

コンポーネントは、テキストボックス、コンボボックスなど、システムのユーザが直接操作する部品(コントロール)です。
コンポーネントは、Swingのそれを機能拡張した形で提供されます。
(したがってコンポーネントは、Swingの制限(不具合)に依存しますのでご了承ください。)
コンポーネントは、(ロジッククラスの実行による)イベントハンドリング、(トランザクションの実行による)サーバとの交信、(標準チェックの実行による)データの妥当性チェックの機能を持ちます。
コンポーネントの属性は、Client Application Management Consoleのコンポーネントタブの属性で設定します。ロジッククラス内からSwingのメソッドを直接呼び出すことによって設定することも可能です。
コンポーネントタブの属性の詳細はコンポーネント属性を参照してください。
これらコンポーネントの設定は方法はClient Application Management Consoleを参照してください。

また、コンポーネント作成のインターフェースは現在提供しておりません。独自のコンポーネントを使用したい場合にはフレームインターフェースにて実装するかメディア情報技術(株)までご相談ください。

1. 提供コンポーネント

1-1. テキストフィールド

jp.ne.mki.wedge.run.client.component.text.DefaultTextField
./image/textfield.jpg

「javax.swing.JTextField」を拡張した、1行テキストの編集を可能にする軽量コンポーネントです。
複数行の表示はできません。複数行表示を行いたい場合には テキストエリア を使用してください。

../images/check.gif 必要なアイテム
このコンポーネントは、1つのアイテムと関連付けます。入力されたデータは、そのアイテムに格納されます。
../images/check.gif コンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
取得した「JComponent」は JComponentは javax.swing.JTextField もしくは javax.swing.JFormattedTextField にキャスト可能です
../images/check.gif入力位置
データタイプ」にて数値・日付・日付時刻・時刻が選択されている場合には右寄せ、それ以外は左寄せになります。
(コンポーネント属性 / TextPosition が指定されている場合を除く)
../images/check.gifIME自動設定
フォーカス取得時に「データ型」にて
JAPANESEが選択されている場合にはひらがな入力モード(InputSubset.KANJI)、
HALF_KANAが選択されている場合には半角カナモード(InputSubset.HALFWIDTH_KATAKANA)、
FULL_ALPHABETが選択されている場合には全角英数字モード(InputSubset.FULLWIDTH_LATIN)、
それ以外は英数半角入力モードになります。
../images/check.gif表示変換クラス
データにフォーマットが指定されている場合には、Focus紛失前(他のコンポーネントに制御が移る前)にフォーマットが実行されます。編集開始時には入力値(フォーマットされていない値)になります。
../images/check.gif項目チェック
項目チェックを実行する設定の場合には、Focus紛失前(他のコンポーネントに制御が移る前)にデータ型の値に基づきチェックが実行されます。但しこのタイミングでは省略不可チェックは行いません。(省略不可チェックはトランザクションの標準チェックにて行います ※Webtribeのみ)

1-1-1. 種類

1-1-2. 動作タイミング

Before Focus取得時
After Focus紛失前(他のコンポーネントに制御が移る前)

1-2. パスワードフィールド

jp.ne.mki.wedge.run.client.component.text.DefaultPasswordField
./image/passwordfield.jpg

「javax.swing.JPasswordField」を拡張した、1 行のテキストの編集を可能にする、軽量コンポーネントです。
ただし、ビューは入力があった事を示しますが、どの文字が入力されたかは表示しません。
../images/check.gif 必要なアイテム
このコンポーネントは、1つのアイテムと関連付けます。入力されたデータは、そのアイテムに格納されます。
../images/check.gif コンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
取得した「JComponent」を javax.swing.JPasswordField にキャスト可能です
../images/check.gif表示変換クラス
データにフォーマットが指定されている場合には、Focus紛失前(他のコンポーネントに制御が移る前)にフォーマットが実行されます。編集開始時には入力値(フォーマットされていない値)になります。
../images/check.gif項目チェック
項目チェックを実行する設定の場合には、Focus紛失前(他のコンポーネントに制御が移る前)にデータ型の値に基づきチェックが実行されます。但しこのタイミングでは省略不可チェックは行いません。(省略不可チェックはトランザクションの標準チェックにて行います ※Webtribeのみ)

1-2-1. 種類

1-2-2. 動作タイミング

Before Focus取得時
After Focus紛失前(他のコンポーネントに制御が移る前)

1-3. テキストエリア

jp.ne.mki.wedge.run.client.component.text.DefaultTextArea
./image/textarea.jpg 「javax.swing.JTextArea」を拡張した、複数行のテキストの編集を可能にする、軽量コンポーネントです。
文字 が 表示領域 を超えた場合、自動的に スクロールバー が表示されます。


../images/check.gif 必要なアイテム
このコンポーネントは、1つのアイテムと関連付けます。入力されたデータは、そのアイテムに格納されます。
../images/check.gif コンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
取得した「JComponent」を javax.swing.JTextArea にキャスト可能です
../images/check.gifIME自動設定
フォーカス取得時に「データ型」にて
JAPANESEが選択されている場合にはひらがな入力モード(InputSubset.KANJI)、
HALF_KANAが選択されている場合には半角カナモード(InputSubset.HALFWIDTH_KATAKANA)、
FULL_ALPHABETが選択されている場合には全角英数字モード(InputSubset.FULLWIDTH_LATIN)、
それ以外は英数半角入力モードになります。
../images/check.gif表示変換クラス
データにフォーマットが指定されている場合には、Focus紛失前(他のコンポーネントに制御が移る前)にフォーマットが実行されます。編集開始時には入力値(フォーマットされていない値)になります。
../images/check.gif項目チェック
項目チェックを実行する設定の場合には、Focus紛失前(他のコンポーネントに制御が移る前)にデータ型の値に基づきチェックが実行されます。但しこのタイミングでは省略不可チェックは行いません。(省略不可チェックはトランザクションの標準チェックにて行います ※Webtribeのみ)

1-3-1. 種類

1-3-2. 動作タイミング

Before Focus取得時
After Focus紛失前(他のコンポーネントに制御が移る前)

1-4. ボタン

jp.ne.mki.wedge.run.client.component.button.DefaultButton
./image/button.jpg 「javax.swing.JButton」を拡張した、プッシュボタンのコンポーネントです。
プッシュ動作 は マウスクリック や SPACEキー押下 などにより行うことができます。


../images/check.gif 必要なアイテム
このコンポーネントは、1つのアイテムと関連付けます。 ボタンクリック時に アイテム の Before,After 処理が実行されます。
../images/check.gif コンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
取得した「JComponent」を javax.swing.JButton にキャスト可能です
../images/check.gif IME自動設定
フォーカス取得時は 英数半角入力モード になります。

補足補足
SwingJButtonの特性上、IME起動中は SPACEキーによるボタンクリック は行うことができません。
そのため、本製品では フォーカス取得のタイミングにて 英数半角入力モード の切替をおこないますが、 フォーカス取得後に 任意にIME起動した場合は SPACEキーによるボタンクリック は行えないことに注意してください。

1-4-1. 種類

補足補足
マウスによる"ボタンクリックキャンセル動作" とは、ボタンに対して MousePress を行い、ドラッグしつつボタン外に移動してから MouseRelease をする動作になります。

1-4-2. 動作タイミング

Before Click時
After Click時

1-5. チェックボックス

jp.ne.mki.wedge.run.client.component.checkbox.DefaultCheckBox
./image/checkbox.jpg 「javax.swing.JCheckBox」を拡張した、チェックボックスのコンポーネントです。
プッシュ動作 は マウスクリック や SPACEキー押下 などにより行うことができます。
選択あるいは選択解除できる項目の実装で、その状態を表示します。


../images/check.gif 必要なアイテム
このコンポーネントは、1つのアイテムと関連付けます。入力されたデータは、そのアイテムに格納されます。
チェックされると「1」が、チェックされなかったら「0」がデータに設定されます。
ただし、アイテム/基本データ の「ENUM」 が設定されている場合は、チェックされると「ENUM」の一番目の値が、チェックされなかったら2番目の値が設定されます。
チェックあり チェックなし
ENUM設定あり ENUMの一番目の値 ENUMの二番目の値
ENUM設定なし 1 0


../images/check.gif コンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
取得した JComponent を javax.swing.JCheckBox にキャスト可能です

1-5-1. 種類

1-5-2. 動作タイミング

Before クリック時:値設定前
After クリック時:値設定後

1-6. コンボボックス

jp.ne.mki.wedge.run.client.component.combobox.DefaultComboBox
./image/combobox.jpg 「javax.swing.JComboBox」を拡張した、コンボボックスのコンポーネントです。
コンボボックスとは、ボタン、または編集可能フィールドとドロップダウンリストを組み合わせたコンポーネントです。
ユーザは要求に応じて表示されるドロップダウンリストから値を選択できます。
選択された値と、アプリケーションとして保持したい値が異なる場合・・・例えば、表示は名称だが、選択値として保持したいのは、そのID など ・・・でもそれらの情報をコンボボックスに与える事により選択値が自動的に取得可能になるように拡張されています。
コンボボックスを編集可能にすると、編集可能なフィールドを持つようになり、ユーザが値を自由に入力できるようになります。


../images/check.gif 必要なアイテム
コンボボックスを画面で使用する場合はアイテムタイプが「TEXT」 「BOXKEY」「BOXDATA」の3種類のアイテムをセットにする必要が有ります。
BOXKEY」のアイテムには ”コンボボックスが選択された時の値のリスト”、
BOXDATA」のアイテムには ”コンボボックスに表示される値のリスト” をセットする必要が有ります。
TEXT」のアイテムには ”コンボボックスが選択された時の値” が自動的にセットされます。

ロジッククラス等から「TEXT」のアイテムに値をセットすると、 「BOXKEY」のアイテムの中から同じ値を探し出し、対応する「BOXDATA」の値を自動で選択状態にします。
../images/check.gif コンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
コンボボックス独自のメソッドが使用したい場合には、取得した「JComponent」を「DefaultComboBox」にキャストして下さい。
(javax.swing.JComboBox にキャストする事も可能です)
TEXTのアイテムは「DefaultComboBox.getItem()」、BOXKEYのアイテムは「DefaultComboBox.getKeyItem()」、BOXDATAのアイテムは「DefaultComboBox.getListItem()」により取得します。
../images/check.gif 編集可能コンボ since:Version.1.1.0
コンポーネント属性にて、editable=true の設定にすると 編集可能なコンボボックスになります。
編集可能にする為には、コンポーネントの属性にて設定を行ってください。
編集可能なコンボボックスは、入力エディタは「テキストフィールド」になります。Before,Afterの実行は テキストフィールドと同様になります。
表示されるコンボボックスのリストは、BOXDATA のものになり、リスト選択値は エディタに反映されます。
BOXKEYは使用しません

注意注意
BOXKEY」 に 存在しない値 を 「TEXT」 に設定することはできません。
かならず BOXKEY に 選択肢となるデータ を設定後、TEXT に値を設定するようにしてください。

1-6-1. 種類

1-6-2. 動作タイミング

アイテムタイプがBOXKEYのアイテム

  1. 編集不可
    Before ポップアップ表示時
    After ポップアップが閉じた時 かつ 値が変更されていた時 もしくは KeyBindより値を変えられたとき(Endキーなど)


  2. 編集可能
    Before Focus取得時
    After Focus紛失前(他のコンポーネントに制御が移る前)


1-7. リスト

jp.ne.mki.wedge.run.client.component.list.DefaultList
./image/listbox.jpg 「javax.swing.JList」を拡張した、リストボックスのコンポーネントです。
ユーザは、表示リストから任意の行を選択することにより、値を設定します。
選択された値と、アプリケーションとして保持したい値が異なる場合・・・例えば、表示は名称だが、選択値として保持したいのは、そのID など ・・・でもそれらの情報をコンボボックスに与える事により選択値が自動的に取得可能になるように拡張されています。


../images/check.gif必要なアイテム
リストを画面で使用する場合はアイテムタイプが「TEXT」 「BOXKEY」「BOXDATA」の3種類のアイテムをセットにする必要が有ります。
BOXKEY」のアイテムには ”リストボックスが選択された時の値のリスト”、
BOXDATA」のアイテムには ”リストボックスに表示される値のリスト” をセットする必要が有ります。
TEXT」のアイテムには ”リストボックスが選択された時の値” が自動的にセットされます。
ロジッククラス 等から「TEXT」のアイテムに値をセットすると、BOXKEYのアイテムの中から同じ値を探し出し、 対応するBOXDATAの値を自動で選択状態にします。

../images/check.gifコンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
リスト独自のメソッドが使用したい場合には、取得した「JComponent」を「DefaultList」にキャストして下さい。
(javax.swing.JList にキャストする事も可能です)
TEXTのアイテムは「DefaultList.getItem()」、BOXKEYのアイテムは「DefaultList.getKeyItem()」、BOXDATAのアイテムは「DefaultList.getListItem()」により取得します。

1-7-1. 種類

1-7-2. 動作タイミング

  1. アイテムタイプがBOXKEYのアイテム
    Before Focus取得時
    After Focus紛失前(他のコンポーネントに制御が移る前)


1-8. トグルボタン

jp.ne.mki.wedge.run.client.component.button.DefaultToggleButton
./image/togglebutton.jpg 「javax.swing.JToggleButton」を拡張した、トグルボタンのコンポーネントです。
グループ化内トグルボタンでは、常に1つ選択された状態になります。
(初期値設定無し時は、初期状態では選択は無し という状態になります。)


../images/check.gif必要なアイテム
選択された値を保持するアイテムを1つ用意し、グループアイテムとして登録します。(Client Application Management Console/グループ 参照)
GUIより選択変更されると、グループアイテムの値が自動的に変更されます。
また、プログラム内部より グループアイテム の値が変更されると、GUI上の選択状態も自動的に変更されます。
../images/check.gifコンポーネント取得方法
グループで割当てたアイテムに、コンポーネントと値のセットで設定した値がセットされます。
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
リスト独自のメソッドが使用したい場合には、取得した「JComponent」を「DefaultTiggleButton」にキャストして下さい。
(javax.swing.JToggleButton にキャストする事も可能です)
グループ化している場合、グループのアイテムは、「DefaultToggleButton.getGroupItem()」にて取得します。

補足補足
初期値設定無しの場合、初期状態では、グループのボタンは 1 つも選択されていません。
一度選択状態にした ラジオボタン(グループ) に対して 「選択状態なし」の状態にする事はできません。
1つも選択されていない状態にするためには、表示不可(Visible=false)にしたボタンを作成し、そのボタンを選択状態に することにより見かけ上実装が可能です。
詳細は JDK APIドキュメント:javax.swing.ButtonGroup を参照して下さい。

1-8-1. 種類

1-8-2. 動作タイミング

  1. グループのアイテム
    Before Focus取得時
    After 値変更時


  2. アイテム
    Before 値設定前
    After 値設定後


1-9. ラジオ

jp.ne.mki.wedge.run.client.component.button.DefaultRadioButton
./image/radiobutton.jpg 「javax.swing.JRadioButton」を拡張した、ラジオボタンのコンポーネントです。 グループ化内ラジオボタンでは、常に1つ選択された状態になります。
(初期値設定無し時は、初期状態では選択は無し という状態になります。)


../images/check.gif必要なアイテム
選択された値を保持するアイテムを1つ用意し、グループアイテムとして登録します。(Client Application Management Console/グループ 参照)
GUIより選択変更されると、グループアイテムの値が自動的に変更されます。
また、プログラム内部より グループアイテム の値が変更されると、GUI上の選択状態も自動的に変更されます。
../images/check.gifコンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
ラジオ独自のメソッドが使用したい場合には、取得した「JComponent」を「DefaultRadioButton」にキャストして下さい。
(javax.swing.JRadioButton にキャストする事も可能です)
グループ化している場合、グループのアイテムは、「DefaultRadioButton.getGroupItem()」にて取得します。

補足補足
初期値設定無しの場合、初期状態では、グループのボタンは 1 つも選択されていません。
一度選択状態にした ラジオボタン(グループ) に対して 「選択状態なし」の状態にする事はできません。
1つも選択されていない状態にするためには、表示不可(Visible=false)にしたボタンを作成し、そのボタンを選択状態に することにより見かけ上実装が可能です。
詳細は JDK APIドキュメント:javax.swing.ButtonGroup を参照して下さい。

1-9-1. 種類

1-9-2. 動作タイミング

  1. グループのアイテム
    Before Focus取得時
    After 値変更時


  2. アイテム
    Before 値設定前
    After 値設定後


1-10. テーブル

jp.ne.mki.wedge.run.client.component.table.DefaultTable
./image/table.jpg 「javax.swing.JTable」を拡張した、 複数列、複数行に渡って 入力・表示 が可能な グリッドコンポーネントです。


../images/check.gif必要なアイテム
1列に付き、1つのアイテムが必要です。
各列のアイテムとテーブルとの紐付けは、Client Application Management Console:テーブル タブにて別途登録する必要があります。
列アイテムの行数は同じにする必要があります。
GUIからの 行追加、行削除 などを行った場合には、"非表示列も含め" 各列アイテムに対して同等の処理を行われます。
../images/check.gifコンポーネント取得方法
ロジッククラスにてコンポーネントを取得するには、アイテムの「getComponent()」を使用します。
テーブル独自のメソッドが使用したい場合には、取得した「JComponent」を「DefaultTable」にキャストして下さい。
(javax.swing.JTable にキャストする事も可能です)
テーブル内セルのコンポーネントは、 セルエディタ と セルレンダラ という 2つのコンポーネントの組合せで動作しています。(Swingデフォルト)
セルエディタ と セルレンダラ の説明は 後述の説明をご覧下さい。
../images/check.gif入力位置
データタイプ」にて数値・日付・日付時刻・時刻が選択されている場合には右寄せ、それ以外は左寄せになります。
(コンポーネント属性 / TextPosition が指定されている場合を除く)
../images/check.gifIME自動設定
フォーカス取得時に「データ型」にて
JAPANESEが選択されている場合にはひらがな入力モード(InputSubset.KANJI)、
HALF_KANAが選択されている場合には半角カナモード(InputSubset.HALFWIDTH_KATAKANA)、
FULL_ALPHABETが選択されている場合には全角英数字モード(InputSubset.FULLWIDTH_LATIN)、
それ以外は英数半角入力モードになります。 データにフォーマットが指定されている場合には、セルレンダラにフォーマットされた値が表示されます。セルレンダラには入力値(フォーマットされていない値)になります。 項目チェックを実行する設定の場合には、編集終了時にデータ型の値に基づきチェックが実行されます。但しこのタイミングでは省略不可チェックは行いません。(省略不可チェックはトランザクションの標準チェックにて行います)

補足補足
テーブルにて公開しているインターフェースは jp.ne.mki.wedge.run.client.event.TableInterfaceになります。
DefaultTableにしかないメソッドにアクセスする場合には TableInterface 経由にてアクセスするようにしてください。
TableInterface 経由でないメソッドの場合、バージョンアップ や 不具合修正 の際に 削除 や 動作変更 などの 仕様変更が 行われる 可能性があり、各メソッドの永続的な保障は行われません。予めご了承ください。

1-10-1. 種類

1-10-2. 動作タイミング

  1. 列のアイテム
    Before 編集開始時
    After 編集終了時

    補足補足
    この動作タイミングは、列に設定されている セルエディタ に依存します。


  2. テーブルの行
    クリック テーブル行Click時
    ダブルクリック テーブル行DoubleClick時

    補足補足
    編集可能なセル に対してはクリックイベントは発生しません。(クリック動作により編集開始動作になるため)


注意注意
テーブルの場合、「フォーカスが入ったタイミング」と「編集が始まったタイミング」、「フォーカスが出たタイミング」と「編集が終わったタイミング」を混同しない様に注意して下さい。「フォーカスが入ったタイミング」「フォーカスが出たタイミング」で何か動作を設定する事は出来ません。

1-11. パネル

jp.ne.mki.wedge.run.client.component.panel.DefaultPanel

Componentを格納するコンテナです。

1-11-1. 種類

1-12. ラベル

jp.ne.mki.wedge.run.client.component.label.DefaultLabel
./image/label.jpg 文字列を表示します。入力は行えません。
通常は 1行の文字列 が表示されます。HTML 形式 にて文字を指定すると 複数行 の表示も可能です。

1-12-1. 種類

1-13. タブ

jp.ne.mki.wedge.run.client.component.tab.DefaultTab
./image/tab.jpg 指定されたタイトルを持つタブをクリックすることにより、ユーザがコンポーネントのグループを切替えられるようにするコンポーネントです。
Panelを追加することにより、タブが生成されます。
Tabのタイトルはパネルの論理名が表示されます。

1-14. スプリットペイン

jp.ne.mki.wedge.run.client.component.split.DefaultSplitPane
./image/split.jpg 2 つの コンポーネント を分割するのに使います (2 つだけに分割)。2 つの コンポーネント はユーザが対話的にサイズ変更出来る様になります。
両ペインには パネル を貼り付けてその中に各種GUIコンポーネントを貼り付けるようにして下さい。
レイアウトにて最初に設定されているパネル が LEFT の位置に、後に設定されているパネルが RIGHT の位置に設定されます。

1-14-1. 種類

1-15. ツリー

jp.ne.mki.wedge.run.client.component.tree.DefaultTree

./image/tree.jpg 階層データのセットをアウトラインで表示するコンポーネントです。
デフォルトの表示では、アイテムの論理名が ノード に表示され、アイテム内データの値を 子ノード として表示します。
アイテム の 中に アイテムを 含めることにより、階層表示も可能です。
アイテム以外のノードについても ロジッククラス より追加が可能です。
追加するノードは javax.swing.tree.DefaultMutableTreeNode にて作成し、アイテム のデータとして 追加します。

実行エンジンでは、Before,After などの処理実行は行いません。
ノード選択時のイベントにて処理を実行したい場合には、javax.swing.JTree#addTreeSelectionListener などを行い、 イベントをトリガーして処理を組み込んでください。

参考例Example...
//TreeNode を作成 するサンプルコード
Item treeTop = getOutItem(0);

//DefaultMutableTreeNode で ノードオブジェクト作成
DefaultMutableTreeNode node = new DefaultMutableTreeNode("取締役");
node.add(new DefaultMutableTreeNode("佐藤"));

//DefaultMutableTreeNode を アイテム の値 として追加もOK
treeTop.addObject(node);

//複数階層表示にするため、アイテムの中に 子アイテムの参照を追加
getInItem(0).addObject(getInItem(1));
getInItem(0).addObject(getInItem(2));
treeTop.addObject(getInItem(0));

treeTop.addObject(getInItem(3));
treeTop.addObject(getInItem(4));

getInItem(4).addObject("伊藤");
getInItem(4).addObject(getInItem(5));
getInItem(4).addObject(getInItem(6));
		

1-16. セルエディタ

jp.ne.mki.wedge.run.client.component.table.editor.*
./image/celleditor.jpg Table編集時の入力用コンポーネントです。
指定なしの場合には テキストフィールド になります。


../images/check.gif入力位置
データタイプ」にて数値・日付・日付時刻・時刻が選択されている場合には右寄せ、それ以外は左寄せになります。
(コンポーネント属性 / TextPosition が指定されている場合を除く)
../images/check.gifIME自動設定
フォーカス取得時に「データ型」にて
JAPANESEが選択されている場合にはひらがな入力モード(InputSubset.KANJI)、
HALF_KANAが選択されている場合には半角カナモード(InputSubset.HALFWIDTH_KATAKANA)、
FULL_ALPHABETが選択されている場合には全角英数字モード(InputSubset.FULLWIDTH_LATIN)、
それ以外は英数半角入力モードになります。

補足補足
Ver1.1.0より、セルエディタの自作、登録が可能になりました。 詳しい情報は、コンポーネント / Tableエディタ を参照ください

注意注意
Ver1.1.0より、「マウスクリック時の編集状態可能有無」の判断が変更されました。
セルにフォーカスがある状態であれば、1回のクリックで編集状態になります。セルにフォーカスが無い状態の場合には2回のクリックで編集状態になります。
つまり、1回目のクリックは「セルへのフォーカス移動処理」、2回目のクリックは「セルの編集処理」に割り当てられます。
セル編集状態にて他のセルをクリックされた場合でも、正常に処理が行えるように配慮された為になります。
何回のセルクリックで編集状態にするかどうかの設定はセルエディタでコーディングすることで設定が可能ですが、 1回のクリックにより動作させる方法はSwingの不具合を招く可能性があるためお勧めしていません。

1-16-1. 種類

1-17. セルレンダラ

jp.ne.mki.wedge.run.client.component.table.renderer.*
./image/cellrenderer.jpg

Table表示時の表示用コンポーネントです。設定なしの場合は、ラベルになります。
../images/check.gif入力位置
データタイプ」にて数値・日付・日付時刻・時刻が選択されている場合には右寄せ、それ以外は左寄せになります。
(コンポーネント属性 / TextPosition が指定されている場合を除く)
../images/check.gifIME自動設定
フォーカス取得時に「データ型」にて
JAPANESEが選択されている場合にはひらがな入力モード(InputSubset.KANJI)、
HALF_KANAが選択されている場合には半角カナモード(InputSubset.HALFWIDTH_KATAKANA)、
FULL_ALPHABETが選択されている場合には全角英数字モード(InputSubset.FULLWIDTH_LATIN)、
それ以外は英数半角入力モードになります。

セルレンダラについては独自で作成が可能です。詳しい情報は コンポーネント / Tableレンダラ を参照して下さい。

1-17-1. 種類

 

2. 実装インターフェース

各コンポーネントに実装しているインターフェースは以下になります。使用用途により実装しているものが変わります。

  1. jp.ne.mki.wedge.run.client.event.ComponentInterface
    コンポーネントとして標準的に実装が必要なインターフェース。
    表示文字列の設定や、前景色・背景色設定などのメソッドがあります。
    標準で提供しているコンポーネントは全て実装しています。
  2. jp.ne.mki.wedge.run.client.event.FocusEventInterface
    Tabによるフォーカス移動(Order)関連で実装が必要なインターフェース。
    次フォーカスコンポーネントの設定・取得、前フォーカスコンポーネントの設定・取得のメソッドがあります。
    Client Application Management Consoleのフォーカス移動順にて指定できるコンポーネントになります。
    このインターフェースを実装していないコンポーネントは「フォーカス移動順」に設定できません
  3. jp.ne.mki.wedge.run.client.event.ExecutableInterface
    Before,Afterなどイベント実行対象であるコンポーネントに実装が必要なインターフェース。
    このインターフェースを実装しているもののみ、イベントへの割り当てが可能です。
  4. jp.ne.mki.wedge.run.client.event.GroupInterface
    コンポーネントを1つのグループとして扱うもののインターフェース。
    ラジオボタン、トグルボタンにて使用しています。
  5. jp.ne.mki.wedge.run.client.event.ListInterface
    1つのコンポーネントに、BoxKey,BoxData,TEXTのアイテムを設定するインターフェース。
    コンボボックス、リストボックスにて使用しています。
ComponentInterface FocusEventInterface ExecutableInterface GroupInterface ListInterface
テキストフィールド × ×
テキストエリア × ×
ボタン × ×
チェックボックス × ×
コンボボックス ×
リスト ×
トグルボタン ×
ラジオボタン ×
テーブル(セル) × ×
パネル × × × ×
ラベル × × × ×
タブ × ×
スプリットペイン × × × ×

 

3. Before/Afrer実行タイミング まとめ

Before After
テキストフィールド Focus取得時 Focus紛失前(他のコンポーネントに制御が移る前)
パスワードフィールド Focus取得時 Focus紛失前(他のコンポーネントに制御が移る前)
テキストエリア Focus取得時 Focus紛失前(他のコンポーネントに制御が移る前)
ボタン 押された時 押された時
チェックボックス 値設定前 値設定後
コンボボックス ポップアップ表示時 ポップアップが閉じた時 かつ 値が変更されていた時 もしくは KeyBindより値を変えられたとき(Endキーなど)
リスト Focus取得時 Focus紛失前(他のコンポーネントに制御が移る前)
トグルボタン 値設定前(GroupItem:Focus取得時) 値設定後(GroupItem:値変更時)
ラジオボタン 値設定前(GroupItem:Focus取得時) 値設定後(GroupItem:値変更時)
テーブル 編集開始時 編集終了時
パネル 実行なし 実行なし
ラベル 実行なし 実行なし
タブ 実行なし 実行なし
スプリットペイン 実行なし 実行なし

 

4. 文字位置とIME まとめ

文字位置設定 IME
テキストフィールド データ型による自動設定 データ型による自動設定
パスワードフィールド Swingデフォルト(Left) データ型による自動設定
テキストエリア Swingデフォルト(Left) データ型による自動設定
ボタン Swingデフォルト(Center) 英数モード
チェックボックス Swingデフォルト(Left) 英数モード
コンボボックス Swingデフォルト(Left) 英数モード
リスト Swingデフォルト(Left) 英数モード
トグルボタン Swingデフォルト(Center) 英数モード
ラジオボタン Swingデフォルト(Left) 英数モード
テーブル レンダラコンポーネントに依存 エディタコンポーネントに依存
パネル Swingデフォルト 設定なし
ラベル Swingデフォルト(Left) 設定なし
タブ Swingデフォルト 設定なし
スプリットペイン Swingデフォルト 設定なし