>>可視化インタフェースモジュールの作り方(バージョン0.46まで)
可視化インタフェースモジュール †
- 入力テキストのデータ(テキストデータ),ならびに処理モジュールの処理結果として送られてくるデータを入力として,データを視覚的にわかりやすく出力します.
可視化インタフェースモジュール作成の概要 †
- 可視化インタフェースモジュール作成用の、可視化モジュールクラス(VisualizationModule)を継承(extends)してクラスを作成します。
- データを視覚的に表示するための処理は,displayOperations() メソッドの中から、呼び出される形で記述します。(オーバーライド)
- パネルを作成するときに必要な初期化処理は、initializePanel() メソッドの中に記述します。(オーバーライド)
- データの表示に必要な(再表示の際に必要な)初期化処理は、initializeData() メソッドの中に記述します。(オーバーライド)
- 入力テキストの再読み込みがあった場合など、再表示の命令があったときに呼び出されます。
- マイニング処理モジュールの処理結果は、setData(int, ***) メソッドを作成することで,その第二引数を通じて受け取ります。(オーバーライド)
可視化インタフェースモジュールの構成 †
パネル初期化時の処理の流れ †
データ更新時の処理の流れ †
サンプルプログラム †
SampleDisplay.java
:文字列を受け取って表示(JTextPaneベース)
SampleDisplay2.java
:平面上に背景,円,数字,文字を表示(draw系ベース)
作成の準備 †
コンストラクタの作成 †
- setModuleIDメソッドにより,モジュールIDを与えます.(公開用に取得したID,または他のモジュールとかぶらないID)
例) setModuleID(4723);
- 配列 dataNumbers を初期化して,処理モジュールから受け取る,可視化に必要な各データ型のデータ数を記述します.
dataNumbers = new int[]{0,0,0,1, // boolean,int,double,String
0,0,0,0, // boolean[],int[],double[],String[]
0,0,0}; // boolean[][],int[][],double[][]
- 処理モジュールからのデータが不要(すべての要素が0)な場合は,dataNumbers の初期化は省略可能です.
- ツールタイプが,1:シンプル,2:プリミティブ,3:セミプリミティブ,に該当するときは,setToolType(int) メソッドにより,該当するタイプ番号をセットして下さい.
例) setToolType(2);
変数の宣言 †
- クラス内のグローバル変数を宣言して下さい.
- 宣言した変数の初期化とインスタンス化は,必ずいずれかのメソッド内で行って下さい.
入力 †
テキストデータ †
- テキストデータの入力は,可視化モジュールクラスで定義されている TextData 型のインスタンス text を利用して下さい.
- テキストデータのみを入力として,処理モジュールからのデータを必要としない場合,シンプルツール(参考:ツールタイプ)となります.
処理モジュールからのデータ †
- マイニング処理モジュールからの入力を受け取るための setData メソッドを,必要に応じて定義(可視化モジュールクラスで定義されているメソッドのオーバーライド)してください.
boolean setData(int dataID, boolean data){}
boolean setData(int dataID, int data){}
boolean setData(int dataID, double data){}
boolean setData(int dataID, String data){}
boolean setData(int dataID, boolean data[]){}
boolean setData(int dataID, int data[]){}
boolean setData(int dataID, double data[]){}
boolean setData(int dataID, String data[]){}
boolean setData(int dataID, boolean data[][]){}
boolean setData(int dataID, int data[][]){}
boolean setData(int dataID, double data[][]){}
- 全体を switch(dataID) case 文により記述し,各 case 文において,dataID のデータを受け取る処理を記述してください.
- case 文は,0 から,配列 dataNumbers の初期化時に指定した値-1 までの値の文を記述してください.
- 上記以外の case 文を記述した場合,(プリミティブ、セミプリミティブツール(参考:ツールタイプ)の認定対象外となります)
- 上記のメソッドを1つだけ用いて,case 0: を記述した場合(かつ,受け取るデータが配列の時は,その要素数に関わらず可視化が可能な場合),プリミティブツールとなります.
- データの受け取りに成功した場合は true ,失敗した場合は false を返すようにしてください.
- このメソッドによりデータを受け取るタイミングは,ペアとなる処理モジュールに依存して,以下のいずれかとなります.
- 処理モジュール内で miningOperations() の case 0 が実行されるとき
- 処理モジュール内で miningOperations() の case 0 以外の case文 が実行されるとき
自動実行メソッドの実装 †
[3.GUI初期化] void initializePanel(){} (実装必須) †
- 出力データ可視化用のGUIコンポーネント(表示パネル類)を生成する処理を記述して下さい
[4.初期化と前処理] void initializeData(){} (実装必須) †
- 可視化モジュール内の変数の初期化,表示の前処理を記述して下さい
[6.結果の描画] void displayOperations(int optionNumber){} (実装必須) †
- 全体をswitch(optionNumber) case 文により記述した上で,case 0: の箇所に,
可視化インタフェースの初期表示を生成する処理を記述してください.
可視化処理の実装 †
- 必要に応じて displayOperations メソッドの case 文を増やして,可視化のパターンを変更する処理を実装して下さい.
コンパイル †
- 統合環境の tetdm フォルダ内で make または ant でコンパイルしてください.(自動的に統合環境に組み込まれます)