>>[[可視化インタフェースモジュールの作り方(バージョン0.46まで)]] *可視化インタフェースモジュール [#ae1c9e96] -入力テキストのデータ([[テキストデータ]]),ならびに処理モジュールの処理結果として送られてくるデータを入力として,データを視覚的にわかりやすく出力します. *可視化インタフェースモジュール作成の概要 [#gd114ae0] -可視化インタフェースモジュール作成用の、[[可視化モジュールクラス]](&color(red){VisualizationModule};)を継承(extends)してクラスを作成します。 -データを視覚的に表示するための処理は,&color(blue){displayOperations()}; メソッドの中から、呼び出される形で記述します。&color(green){(''オーバーライド'')}; -パネルを作成するときに必要な初期化処理は、&color(blue){initializePanel()}; メソッドの中に記述します。&color(green){(''オーバーライド'')}; --パネルが(再)構築されたときに呼び出されます。 -データの表示に必要な(再表示の際に必要な)初期化処理は、&color(blue){initializeData()}; メソッドの中に記述します。&color(green){(''オーバーライド'')}; --入力テキストの再読み込みがあった場合など、再表示の命令があったときに呼び出されます。 -マイニング処理モジュールの処理結果は、&color(blue){setData(int, ***)}; メソッドを作成することで,その第二引数を通じて受け取ります。&color(green){(''オーバーライド'')}; --***の部分には受け取るデータの型が入ります。 **可視化インタフェースモジュールの構成 [#r71d16e8] &ref(visuconst.png,,35%,); **パネル初期化時の処理の流れ [#mbfe48df] &ref(initvisu.png,,35%,); **データ更新時の処理の流れ [#mefe7577] &ref(retry.png,,35%,); **サンプルプログラム [#hfa22849] &ref(SampleDisplay.java); :文字列を受け取って表示(JTextPaneベース)~ &ref(SampleDisplay2.java); :平面上に背景,円,数字,文字を表示(draw系ベース)~ *作成の準備 [#jbb97b4e] -module/VisualizationModules フォルダ内に,自分が作成するモジュール(クラス)名のフォルダ(たとえばMyVisual)を作成します. -作成したフォルダ内に,ソースファイル MyVisual.java を用意します. -VisualizationModule クラスのサブクラスとして実装します. 例) class MyVisual extends VisualizationModule *コンストラクタの作成 [#xb6ea001] -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 の初期化は省略可能です. -コンストラクタ内には,[[可視化モジュールクラス]]のコンストラクタ用の処理以外は記述しないで下さい. *変数の宣言 [#n9ed48af] -クラス内のグローバル変数を宣言して下さい. -宣言した変数の初期化とインスタンス化は,&color(red){''必ずいずれかのメソッド内で''};行って下さい. *入力 [#e6452990] **テキストデータ [#t1510c68] -テキストデータの入力は,[[可視化モジュールクラス]]で定義されている TextData 型のインスタンス text を利用して下さい. -テキストデータのみを入力として,処理モジュールからのデータを必要としない場合,&color(red){シンプルツール(参考:[[ツールタイプ]])};となります. **処理モジュールからのデータ [#v2a27402] -マイニング処理モジュールからの入力を受け取るための &color(blue){''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[][]){} -全体を &color(red){switch(dataID) case 文};により記述し,各 case 文において,dataID のデータを受け取る処理を記述してください. -&color(red){case 文};は,&color(blue){''0''}; から,&color(blue){''配列 dataNumbers の初期化時に指定した値-1''}; までの値の文を記述してください. --上記以外の case 文を記述した場合,&color(red){(プリミティブ、セミプリミティブツール(参考:[[ツールタイプ]])の認定対象外となります)}; --上記のメソッドを1つだけ用いて,case 0: を記述した場合(かつ,受け取るデータが配列の時は,その要素数に関わらず可視化が可能な場合),&color(red){''プリミティブツール''};となります. -データの受け取りに成功した場合は &color(blue){true}; ,失敗した場合は &color(blue){false}; を返すようにしてください. -このメソッドによりデータを受け取るタイミングは,ペアとなる処理モジュールに依存して,以下のいずれかとなります. --処理モジュール内で miningOperations() の case 0 が実行されるとき --処理モジュール内で miningOperations() の case 0 以外の case文 が実行されるとき *自動実行メソッドの実装 [#kdc532ca] -[[可視化モジュールクラス]]で用意されている下記のメソッドを,オーバーライドして実装してください. ***&color(red){[3.GUI初期化]}; void initializePanel(){} &color(red){(実装必須)}; [#h392524b] -出力データ可視化用のGUIコンポーネント(表示パネル類)を生成する処理を記述して下さい ***&color(red){[4.初期化と前処理]}; void initializeData(){} &color(red){(実装必須)}; [#r7cde5e5] -可視化モジュール内の変数の初期化,表示の前処理を記述して下さい ***&color(red){[6.結果の描画]}; void displayOperations(int optionNumber){} &color(red){(実装必須)}; [#q5bb7739] -全体を&color(red){switch(optionNumber) case 文};により記述した上で,&color(red){case 0:}; の箇所に, 可視化インタフェースの初期表示を生成する処理を記述してください. *可視化処理の実装 [#l48379ad] -必要に応じて displayOperations メソッドの case 文を増やして,可視化のパターンを変更する処理を実装して下さい. *コンパイル [#s5a7a287] -統合環境の tetdm フォルダ内で make または ant でコンパイルしてください.(自動的に統合環境に組み込まれます)