これは何?

grappa1.png grappa2.png

dot言語

Grappa は、ノードの自動配置ができない

GrappaPanel? の使い方

     scrlGraph.setViewportView(createGraph());

     public GrappaPanel createGraph() throws Exception {
        CommandExecutor exec = new CommandExecutor("/opt/local/bin/");
        CommandResult res = exec.exec(
                txtDtoText.getText(),
                "/opt/local/bin/" + cmbAlgorithm.getSelectedItem().toString());

        System.out.println("STDOUT:" + res.getStdout());
        System.err.println("STDERR:" + res.getStderr());

        ByteArrayInputStream bin = new ByteArrayInputStream(res.getStdout().getBytes("UTF-8"));
        Parser program = new Parser(bin, System.err);
        program.parse();

        Graph graph = program.getGraph();
        graph.setEditable(true);
        graph.setMenuable(true);

        GrappaPanel gp = new GrappaPanel(graph);
        gp.addGrappaListener(new GrappaAdapter());
        gp.setScaleToFit(false);
        return gp;
    }
  1. テキストエリアに入力されている dot 言語で記述されたグラフを Graphviz コマンド(コンボボックスで選ばれたコマンド) に処理させて、ノードの位置情報を付加させる
  2. Parser オブジェクトを作る。
    • 第1引数は、グラフを提供する InputStream?
    • 第2引数は、エラー情報を出力する OutputStream?
  3. Parser から Graph を作る
  4. Graph から GrappaPanel? (JPanelを継承) 作る
  5. 最後に JScrollPane? に、GrappaPanel? を載せれば終わり

GrappaPanel? からの印刷

グラフをマウスでクリックした際のイベント処理

参考文献


Java


添付ファイル: filegrappa3.png 602件 [詳細] filegrappa1.png 590件 [詳細] filegrappa2.png 546件 [詳細] fileGrappaExam.zip 451件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2011-04-08 (金) 02:33:34 (2068d)
ISBN10
ISBN13
9784061426061