***処理実行やパラメータ変更をGUIで行うマイニング処理モジュールの作り方 [#a9cc17f2]
*可視化インタフェースモジュール [#wcd53674]
-入力テキストのデータ([[テキストデータ]]),ならびに処理モジュールの処理結果として送られてくるデータを入力として,データを視覚的にわかりやすく出力します.

**マイニング処理モジュールの構成 [#z85662d6]
&ref(miningconst2.png,,35%,);
***サンプルプログラム [#g6c4eb18]
&ref(Sample2.java);
:入力テキストの単語間にスペースを入れた文字列を生成(ボタンを押すと実行)
*可視化インタフェースモジュール作成の概要 [#y127243a]
-可視化インタフェースモジュール作成用の、[[可視化モジュールクラス]](&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){(''オーバーライド'')};
--***の部分には受け取るデータの型が入ります。

**可視化インタフェースモジュールの構成 [#z85662d6]
&ref(visuconst.png,,35%,);

**パネル初期化時の処理の流れ [#w64aacb4]
&ref(initvisu.png,,35%,);
**データ更新時の処理の流れ [#o1611fd6]
&ref(retry.png,,35%,);

**サンプルプログラム [#g6c4eb18]
&ref(SampleDisplay.java);
:文字列を受け取って表示(JTextPaneベース)~
&ref(SampleDisplay2.java);
:平面上に背景,円,数字,文字を表示(draw系ベース)~


*作成の準備 [#m029be18]

-module/MiningModules フォルダ内に,自分が作成するモジュール(クラス)名のフォルダ(たとえばMyModule)を作成します.
-作成したフォルダ内に,ソースファイル MyModule.java を用意します.
-MiningModule クラスのサブクラスとして実装します.
    例)  class MyModule extends MiningModule
-module/VisualizationModules フォルダ内に,自分が作成するモジュール(クラス)名のフォルダ(たとえばMyVisual)を作成します.
-作成したフォルダ内に,ソースファイル MyVisual.java を用意します.
-VisualizationModule クラスのサブクラスとして実装します.
    例)  class MyVisual extends VisualizationModule

*コンストラクタの作成 [#o54d691d]

-setModuleIDメソッドにより,モジュールIDを与えます.(公開用に取得したID,または他のモジュールとかぶらないID)
    例)  setModuleID(4723);

-配列 pairingVisualizationID を初期化して,ペアとなる可視化インタフェースモジュールのIDを指定します.
    例)  pairingVisualizationID = new int[1];
           pairingVisualizationID[0] = 1;
-コンストラクタ内には,上記以外の処理は記述しないで下さい

*変数の宣言 [#yd9decec]

-クラス内のグローバル変数を宣言して下さい.
-宣言した変数の初期化とインスタンス化は,&color(red){''必ずいずれかのメソッド内で''};行って下さい.

*入出力の方法 [#ufb0dfe4]

-入力は,スーパークラスで定義されている TextData 型のインスタンス text を利用して下さい.
-出力は,ペアとして想定する「可視化インタフェースモジュール」内の setData メソッドを参照してdataID を把握した後, 出力するデータの型に対応する setData メソッド(スーパークラス内で定義)を呼び出してください.
    void setData(int dataID, int data);
    void setData(int dataID, double data);
    void setData(int dataID, String data);
    void setData(int dataID, int data[]);
    void setData(int dataID, double data[]);
    void setData(int dataID, String data[]);
-setData( &color(red){dataID};, **) は,miningOperations 内で,&color(red){case 0:}; または &color(red){case dataID:}; 内で実行されるように記述して下さい.
-同じ dataID をもつ,異なるデータ型の出力を生成することも可能です.(同一のcase 文の中に記述して下さい)
-テキストデータの入力は,スーパークラスで定義されている TextData 型のインスタンス text を利用して下さい.
-マイニング処理モジュールからの入力を受け取るための ''setData'' メソッドを,必要に応じて定義(スーパークラス内で定義されているメソッドのオーバーライド)してください.

-「可視化インタフェースモジュール」内の表示を変更する場合,該当モジュール内の displayOperations(int optionNumber) メソッドを参照して optionNumber を把握した後,スーパークラス内で再定義された同名のメソッドを呼び出して下さい.
    void displayOperations(int optionNumber);
    void setData(int dataID, boolean data){}
    void setData(int dataID, int data){}
    void setData(int dataID, double data){}
    void setData(int dataID, String data){}
    void setData(int dataID, boolean data[]){}
    void setData(int dataID, int data[]){}
    void setData(int dataID, double data[]){}
    void setData(int dataID, String data[]){}
    void setData(int dataID, boolean data[][]){}
    void setData(int dataID, int data[][]){}
    void setData(int dataID, double data[][]){}

-setData メソッドは,全体を&color(red){switch(dataID) case 文};により記述して下さい.

*自動実行メソッドの実装 [#y7d8762a]

-スーパークラスで用意されている下記のメソッドを,オーバーライドして実装してください.

***&color(red){[1.GUI初期化]}; void initializePanel(); [#xe9e3eea]
-Swing を利用して作成したGUIコンポーネントを,スーパークラス内で定義されている JPanel型のインスタンス operationPanel に add して下さい
***&color(red){[3.GUI初期化]}; void initializePanel(); &color(red){(実装必須)}; [#y3f994f1]
-可視化出力用のGUIコンポーネント(表示パネル類)を生成して下さい

***&color(red){[2.初期化と前処理]}; void initializeData(); [#o6f716c0]
-処理モジュール内の変数の初期化,マイニングの前処理を記述して下さい
***&color(red){[4.初期化と前処理]}; void initializeData(); &color(red){(実装必須)}; [#vb65d22d]
-可視化モジュール内の変数の初期化,表示の前処理を記述して下さい

***&color(red){[5.マイニング処理と結果の出力]}; void miningOperations(int optionNumber); &color(red){(実装必須)}; [#u1350ef9]
-可視化インタフェースモジュールが表示を行うためのデータを生成して,setData メソッドを用いてセットして下さい~
switch case 文を利用して,&color(red){case 0:}; の箇所に記述してください.
***&color(red){[6.結果の描画]}; void displayOperations(int optionNumber); &color(red){(実装必須)}; [#u1350ef9]
-可視化インタフェース画面の初期表示を行って下さい.~
全体を&color(red){switch(optionNumber) case 文};により記述した上で,&color(red){case 0:}; の箇所に記述してください.

***初期化時の処理の流れ [#w64aacb4]
&ref(initmining2.png,,35%,);
***データ更新時の処理の流れ [#o1611fd6]
&ref(retry.png,,35%,);

*GUI操作時の処理の実装 [#l16b1e6e]

-GUIのアクションを制御するメソッド actionPerformed をオーバーライドして実装してください
    public void actionPerformed(ActionEvent e);
---マイニング処理と結果の出力: miningOperations メソッドを呼び出す
---可視化モジュールの操作: ペアとして想定する可視化モジュールの displayOperations メソッドを呼び出す
*可視化処理の実装 [#l16b1e6e]

-必要に応じて miningOperations メソッドの case文を増やして,マイニング処理の実行と,結果を出力する setData メソッドの呼び出しを行って下さい.
-必要に応じて displayOperations メソッドの case 文を増やして,可視化のパターンを変更する処理を実装して下さい.

*コンパイル [#a786edae]

-統合環境の tetdm フォルダ内で make または ant でコンパイルしてください.(自動的に統合環境に組み込まれます)


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