*可視化インタフェースツール [#ae1c9e96] -入力テキストのデータ([[テキストデータ]]),ならびに処理ツールの処理結果として送られてくるデータを入力として,データを視覚的にわかりやすく出力します. -[[''可視化インタフェースツール作成用ツールキット''>#k8b5fd70]]&color(blue){(''可視化ツール作成用ソース'')}; *可視化インタフェースツール作成の概要 [#gd114ae0] -可視化インタフェースツール作成用の、''[[可視化モジュールクラス]]''(&color(red){VisualizationModule};)を継承(extends)してクラスを作成します。 -データを視覚的に表示するための処理は,&color(blue){displayOperations()}; メソッドの中から、呼び出される形で記述します。&color(blue){(''オーバーライド'')}; -パネルを作成するときに必要な初期化処理は、&color(blue){initializePanel()}; メソッドの中に記述します。&color(blue){(''オーバーライド'')}; --パネルが(再)構築されたときに呼び出されます。 -データの表示に必要な(再表示の際に必要な)初期化処理は、&color(blue){initializeData()}; メソッドの中に記述します。&color(blue){(''オーバーライド'')}; --入力テキストの再読み込みがあった場合など、再表示の命令があったときに呼び出されます。 -マイニング処理ツールの処理結果は、&color(blue){setData(int, ***)}; メソッドを作成することで,その第二引数を通じて受け取ります。&color(blue){(''オーバーライド'')}; --***の部分には受け取るデータの型が入ります。 **可視化インタフェースツールの構成 [#r71d16e8] &ref(visuconst.png,,35%,); **パネル初期化時の処理の流れ [#mbfe48df] &ref(initMining2.png,,35%,); &ref(InitMining2.png,,35%,); **データ更新時(「再読込+実行」「再実行」「再処理を実行」)の処理の流れ [#mefe7577] &ref(Retry.png,,35%,); **データ送信の流れ [#e96a2c8b] &ref(dataio.png,,35%,); **サンプルプログラム [#hfa22849] &ref(SampleDisplay.java); :文字列を受け取って表示(JTextPaneベース)~ &ref(SampleDisplay2.java); :平面上に背景,円,数字,文字を表示(draw系ベース)~ *作成の準備 [#jbb97b4e] -module/VisualizationModules フォルダ内に,自分が作成するツール(クラス)名のフォルダ(たとえばMyVisual)を作成します. --&color(red){モジュール名に使用できるのは,アルファベットか数字のみで,一文字目は大文字にする必要があります.}; -作成したフォルダ内に,ソースファイル 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] -可視化ツール内の変数の初期化,表示の前処理を記述して下さい. -GUIコンポーネントのうち,入力データに依存するものの初期化は,こちらに記述してください. ***&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 でコンパイルしてください.(自動的に統合環境に組み込まれます) --makeまたはantコマンドが無い場合は,コマンドをインストールしてください. --Windowsのコマンドプロンプトでは,Makefileに記述されているjavacコマンド内のワイルドカード*が使用できないことがあります. ---その場合,antコマンドを使用できるようにしていただくか,cygwinなどのターミナルソフトのインストールが必要です. --&color(blue){antコマンドでコンパイルを行った場合,各フォルダ内にclassファイルは作成されませんが動作には問題ありません.}; *可視化ツール作成用ツールキット [#k8b5fd70] -&color(blue){可視化ツール作成用ソース1}; &ref{VisualizationToolKit.zip}; -VisualizationToolKit.java -VisualizationToolKit.txt -Japanese.txt -README.txt --処理ツール「データ送信テスト」などと組み合わせると動作確認できます --画面中心部に、標語と受け取ったデータを表示(標語は日本語と英語で切り替え可能) ---日本語と英語の切り替えは,「キーワード設定」最下部の「メニューを日本語にする」のチェックで行えます. --処理ツールから String 型の配列を1つ受け取ります(送られたデータが String 型配列でなくても[[データ型コンバート]]によりデータの受け取りが可能) --プリミティブツール([[ツールタイプ]]) -&color(blue){可視化ツール作成用ソース2}; &ref{VisualizationToolKit2.zip}; -VisualizationToolKit2.java -VisualizationToolKit2.txt -Japanese.txt -README.txt -ソース1の内容に,以下が追加されています. --データを四角で囲んで表示し,マウスでドラッグ可能 --マウスで選択中のデータをハイライト表示 --マウスで背景をドラッグすることによって,全データをドラッグで移動可能 --受け取ったデータや,データを表示する座標をもつクラスを生成 -&color(blue){可視化ツール作成用ソース3}; &ref{VisualizationToolKit3.zip}; -[[データ表示用クラス]] DisplayObject を利用したソース2です. -&color(blue){可視化ツール作成用ソース4}; &ref{VisualizationToolKit4.zip}; -[[データ表示用クラス]] DisplayNetwork を利用したソース2です.