可視化インタフェースツール †
可視化インタフェースツール作成の概要 †
- 可視化インタフェースツール作成用の、可視化モジュールクラス(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(){} (実装必須) †
- 可視化ツール内の変数の初期化,表示の前処理を記述して下さい.
- GUIコンポーネントのうち,入力データに依存するものの初期化は,こちらに記述してください.
[6.結果の描画] void displayOperations(int optionNumber){} (実装必須) †
- 全体をswitch(optionNumber) case 文により記述した上で,case 0: の箇所に,
可視化インタフェースの初期表示を生成する処理を記述してください.
可視化処理の実装 †
- 必要に応じて displayOperations メソッドの case 文を増やして,可視化のパターンを変更する処理を実装して下さい.
コンパイル †
- 統合環境の tetdm フォルダ内で make または ant でコンパイルしてください.(自動的に統合環境に組み込まれます)
- makeまたはantコマンドが無い場合は,コマンドをインストールしてください.
- Windowsのコマンドプロンプトでは,Makefileに記述されているjavacコマンド内のワイルドカード*が使用できないことがあります.
- その場合,antコマンドを使用できるようにしていただくか,cygwinなどのターミナルソフトのインストールが必要です.
- antコマンドでコンパイルを行った場合,各フォルダ内にclassファイルは作成されませんが動作には問題ありません.
可視化ツール作成用ツールキット †
- 可視化ツール作成用ソース1
VisualizationToolKit.zip
- VisualizationToolKit.java
- VisualizationToolKit.txt
- Japanese.txt
- README.txt
- 処理ツール「データ送信テスト」などと組み合わせると動作確認できます
- 画面中心部に、標語と受け取ったデータを表示(標語は日本語と英語で切り替え可能)
- 日本語と英語の切り替えは,「キーワード設定」最下部の「メニューを日本語にする」のチェックで行えます.
- 処理ツールから String 型の配列を1つ受け取ります(送られたデータが String 型配列でなくてもデータ型コンバートによりデータの受け取りが可能)
- プリミティブツール(ツールタイプ)
- 可視化ツール作成用ソース2
VisualizationToolKit2.zip
- VisualizationToolKit2.java
- VisualizationToolKit2.txt
- Japanese.txt
- README.txt
- ソース1の内容に,以下が追加されています.
- データを四角で囲んで表示し,マウスでドラッグ可能
- マウスで選択中のデータをハイライト表示
- マウスで背景をドラッグすることによって,全データをドラッグで移動可能
- 受け取ったデータや,データを表示する座標をもつクラスを生成