>>[[可視化インタフェースモジュールの作り方(バージョン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 の初期化は省略可能です.

-[[ツールタイプ]]が,1:シンプル,2:プリミティブ,3:セミプリミティブ,に該当するときは,setToolType(int) メソッドにより,該当するタイプ番号をセットして下さい.
    例)  setToolType(2);

-コンストラクタ内には,[[可視化モジュールクラス]]のコンストラクタ用の処理以外は記述しないで下さい.

*変数の宣言 [#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 でコンパイルしてください.(自動的に統合環境に組み込まれます)

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS