2017-05-29 56 views
0

我想使用D3.js(github.com/gwtd3/gwt-d3)的GWT佈局來創建帶有力模型的節點鏈接圖。首先,比this examplethis one更簡單的東西就足夠了。使用GWT包裝爲D3.js創建一個節點鏈接圖

但我真的有問題甚至創建使用GWT包裝更簡單的圖。我找不到如何使用強制,節點和鏈接對象的等價物。

我開始一個:

Force force = D3.layout().force(); 

不過,我不知道是什麼物體節點「節點」和「鏈接」應該如何初始化它們。它們的構造函數不可見。

force.nodes(nodes).links(links); 

非常感謝您的幫助。

回答

0

作爲解決方法,添加其他JSNI便捷方法來創建Force.Node和Force.Link實例。

/** 
* Convenience function to overcome API limitation. 
*/ 
static final native <T> Node<T> newNode(T userDatum)/*-{ 
    return { 
     datum : userDatum 
    }; 
}-*/; 

/** 
* Convenience function to overcome API limitation. 
*/  
static final native <T> Link<T> newLinkIndex(int source, int target, T userDatum) /*-{ 
    return { 
     source : source, 
     target : target, 
     datum: userDatum 
    }; 
}-*/; 
  1. 創建GWT D3「節點」數組,它包含所有節點的情況下,
  2. 初始化GWT D3「鏈接」陣從「節點」使用索引(INT)指向相應的節點實例,
  3. 應用通過調用:force.nodes(節點).links(鏈接)

可以在MobilePatentSuits.java看到一個完整的工作的例子!