*データ表示用クラス [#m07a24c5] -「&color(blue){[[可視化インタフェースモジュール>可視化モジュールクラス]]};」上でデータを表示する際に用いられるクラスを紹介します. -これらのクラスの使用は任意です. -これらのクラスの変数,メソッドは,すべて public で宣言されています. -これらのクラスは,source/text フォルダ内におくことを想定しています. *DisplayObjectクラス [#pc5ab5b7] -二次元平面上に表示する&color(red){''1つのデータ''};を扱うためのクラスです. -&ref(DisplayObject.java); **グローバル変数 [#zffa94b0] |String word;|データの&color(blue){ラベル(名前)};| |int id;|データの&color(blue){番号};| |double x, y;|データを表示する&color(blue){座標(x,y)};| |int sizeX, sizeY|データの&color(blue){ラベルを囲う長方形の横幅(sizeX)と縦幅(sizeY)};| |int fontSize;|ラベルの&color(blue){フォントサイズ};| |Color color;|ラベルの&color(blue){表示色};| |boolean active;|主にデータの&color(blue){表示(true),非表示(false)};に用いる(デフォルト値はtrue)| |int linkNumber;|データと&color(blue){つながりがあるデータの数};| |double value;|データの&color(blue){評価値};| **コンストラクタ [#h2785f6c] |DisplayObject()|デフォルトコンストラクタ| |DisplayObject(String word, int id, int x, int y, int fontSize, Color color)|引数:&color(blue){データのラベル,番号,座標(x,y),フォントサイズ,表示色};| **メソッド [#vcd1a422] |void centeringFromScreenSize(int screenSizeX, int screenSizeY, int allNumber)|データを&color(blue){パネル中央部に配置};する.引数:表示パネルの横幅と縦幅,データ総数| ~ |boolean isOnMouse(int mouseX, int mouseY)|&color(blue){データラベルにマウスが触れているか};を判定する.引数:マウスの座標(mouseX, mouseY)| |boolean isOnMouseAddLeft(int mouseX, int mouseY)|&color(blue){データラベルおよびラベル左側の円にマウスが触れているか};を判定する.引数:マウスの座標(mouseX, mouseY)| ~ |void drawWord(Graphics2D g2)|&color(blue){ラベル};を座標(x,y)を左上として,指定済みの色とフォントサイズで表示する.| |void drawWord(Graphics2D g2, Color color)|&color(blue){ラベル};を座標(x,y)を左上として,引数として与えた色で表示する.| |void drawRect(Graphics2D g2)|&color(blue){ラベルを囲む四角(枠線)};を表示する.| |void fillRect(Graphics2D g2)|&color(blue){ラベルを囲む四角(塗りつぶし)};を表示する.| |void drawOval(Graphics2D g2)|ラベルの左側に&color(blue){円(枠線)};を表示する.| |void fillOval(Graphics2D g2)|ラベルの左側に&color(blue){円(塗りつぶし)};を表示する.| *DisplayNetworkクラス [#m643e169] -二次元平面上に表示する&color(red){''複数のデータ(DisplayObject型)''};を扱うためのクラスです. -&ref(DisplayNetwork.java); **グローバル変数 [#zffa94b0] |DisplayObject object[];|ObjectData型のデータ集合| |int objectNumber;|データ数| |double positionX, positionY;|マウスで選択中のデータの座標(x,y)に対するマウス座標の相対位置| |boolean link[][];|データ間のリンクの有無| |double value[][];|データ間の関連度等の評価値| |double linkThreshold;|value から link を生成する際の valueのしきい値| |int linkNumber;|ネットワーク全体のリンク数| |int activeNumber;|activeフラグがtrueのデータ数| |SpringModel springModel;|ばねモデル起動用インスタンス| **コンストラクタ [#h2785f6c] |DisplayNetwork()|デフォルトコンストラクタ| |DisplayNetwork(String word[], int fontSize, Color color)|引数:データのラベル集合,フォントサイズ,表示色| **メソッド(DisplayObjectクラスのメンバー操作用) [#vcd1a422] |void centeringFromScreenSize(int screenSizeX, int screenSizeY)|全データをパネル中央部に配置する.引数:表示パネルの横幅と縦幅| |void reSizeByScreenSize(double changeX, double changeY)|パネルのサイズ変更に伴う座標の更新を行う.引数:可視化モジュールで定義されているパネルサイズ変更倍率を表す変数(changeX, changeY)(changeX, changeY は,可視化モジュールで定義されている getPanelSize() メソッドの実行により値が更新される))| ~ |void moveObjects(int diffX, int diffY)|全データを,横方向と縦方向に(diffX,diffY)だけ平行移動する| ~ |int getOnMouseObject(int mouseY, int mouseY)|マウスが触っているデータの番号を返す.引数:マウスの座標(mouseX, mouseY) | |int getOnMouseObjectAddLeft(int mouseX, int mouseY)|マウスが触っているデータ(ラベル左側の円を含む)の番号を返す.引数:マウスの座標(mouseX, mouseY)| ~ |void moveObjectByMouse(int mouseX, int mouseY, int i)|i番目のデータを,マウス座標の位置(mouseX, mouseY)に移動する.| ~ |void drawWord(Graphics2D g2)|全データを,ラベルを座標(x,y)を左上として,指定済みの色とフォントサイズで表示する.| |void drawWord(Graphics2D g2, int i)|i番目のデータを,ラベルを座標(x,y)を左上として,指定済みの色とフォントサイズで表示する.| |void drawWord(Graphics2D g2, int i, Color color)|i番目のデータを,ラベルを座標(x,y)を左上として,引数として与えた色で表示する.| |void drawNodeValue(Graphics2D g2)|全データの評価値を,ラベルを座標(x,y)からフォントサイズだけ下の座標を左上として表示する.| |void drawNodeValue(Graphics2D g2, int i)|i番目のデータの評価値を,ラベルを座標(x,y)からフォントサイズだけ下の座標を左上として表示する.| |void drawRect(Graphics2D g2)|全データの,&color(blue){ラベルを囲む四角(枠線)};を表示する.| |void drawRect(Graphics2D g2, int i)|i番目のデータの,&color(blue){ラベルを囲む四角(枠線)};を表示する.| |void fillRect(Graphics2D g2)|全データの,&color(blue){ラベルを囲む四角(塗りつぶし)};を表示する.| |void fillRect(Graphics2D g2, int i)|i番目のデータの,&color(blue){ラベルを囲む四角(塗りつぶし)};を表示する.| |void drawOval(Graphics2D g2)|全データの,&color(blue){ラベルの左側に円(枠線)};を表示する.| |void drawOval(Graphics2D g2, int i)|i番目のデータの,&color(blue){ラベルの左側に円(枠線)};を表示する.| |void fillOval(Graphics2D g2)|全データの,&color(blue){ラベルの左側に円(塗りつぶし)};を表示する.| |void fillOval(Graphics2D g2, int i)|i番目のデータの,&color(blue){ラベルの左側に円(塗りつぶし)};を表示する.| ~ |void setNodeValue(double value[])|全データのvalueを,引数で与えられた配列でセットする| |void setActive(boolean active[])|全データのactiveを,引数で与えられた配列でセットする| |void setActiveByLinkInActive()|全てのactiveがtrueなデータのうち,他のデータへのリンクをもつデータのactiveをtrueにセットする| |void countActiveNumber()|activeがtrueなデータ数を数え,activeNumberに値をセットする| **メソッド(データ間の関連表示用) [#vcd1a422] |void setLink(boolean link[][])|リンクデータを,引数 link で与えるデータにセットする| |void setValue(double value[][])|評価値データを,引数 value で与えるデータにセットする| |void setLinkValue(double value[][])|評価値データを,引数 value で与えるデータにセットする| ~ |void createLinksFromValue()|valueの値が linkThreshold を超えるデータ間にリンクを生成し link にセットする| |void calculateLinkNumber()|リンク数をカウントして,全データ内および各データの linkNumber にセットする| ~ |void drawLink(Graphics2D g2)|リンクがある全ての&color(blue){データ間に線};を引く| |void drawLink(Graphics2D g2, int i, int j)|i番目のデータとj番目の&color(blue){データ間に線};を引く(リンクの有無によらない)| |void drawLinkAddLeft(Graphics2D g2)|リンクがある全ての&color(blue){データ間(データの左側の円の中心間)に線};を引く| |void drawLinkAddLeft(Graphics2D g2, int i, int j)|i番目のデータとj番目の&color(blue){データ間(データの左側の円の中心間)に線};を引く(リンクの有無によらない)| ~ |void drawArrow(Graphics2D g2, int x0, int y0, int x1, int y1, int r)|始点座標(x0,y0)から終点座標(x1,y1)の方向に矢印を引く.始点と終点は与えられた座標から 距離 r 離れたところになる.| ~ |void drawLinkByArrow(Graphics2D g2)|リンクがある全ての&color(blue){データ間に矢印};を引く| |void drawLinkByArrow(Graphics2D g2, int i, int j)|i番目のデータとj番目の&color(blue){データ間に矢印};を引く(リンクの有無によらない)| |void drawLinkAddLeftByArrow(Graphics2D g2)|リンクがある全ての&color(blue){データ間(データの左側の円の中心間)に矢印};を引く| |void drawLinkAddLeftByArrow(Graphics2D g2, int i, int j)|i番目のデータとj番目の&color(blue){データ間(データの左側の円の中心間)に矢印};を引く(リンクの有無によらない)| ~ |void drawValue(Graphics2D g2)|リンクがある全ての&color(blue){データ間に評価値};を表示する| |void drawValue(Graphics2D g2, int i, int j)|i番目のデータとj番目の&color(blue){データ間に評価値};を表示する(リンクの有無によらない)| |void drawLinkValue(Graphics2D g2)|リンクがある全ての&color(blue){データ間に評価値};を表示する| |void drawLinkValue(Graphics2D g2, int i, int j)|i番目のデータとj番目の&color(blue){データ間に評価値};を表示する(リンクの有無によらない)| **メソッド(SpringModelクラス内のメソッド操作用) [#h15db58e] -&ref(SpringModel.java); |void startSpringModel(int screenSizeX, int screenSizeY)|パネルサイズ(screenSizeX,screenSizeY)を引数として,ばねモデルを起動し,パネル内にデータを配置する(ばねモデルは200ステップで自動的に終了する)(起動前に link と value がセットされている必要がある)| |void stopSpringModel()|ばねモデルを終了する|