我正在開發一個使用Jung2的應用程序,它將顯示兩點之間的連接類型,有兩種不同類型的連接可用。我想顯示每種類型的連接使用不同的顏色。爲此,我想添加兩個不同顏色的邊緣之間的兩個頂點從A到B它將是黑色和B到A它將是綠色。可以幫助我的任何一個例子...JUNG:如何在同一個圖中添加不同的顏色邊緣
1
A
回答
4
您必須定義接收邊緣並返回Paint
的Transformer
--在這種情況下,Paint
可以簡單地爲Color
。這Transformer
必須分配給RenderContext
爲
- ArrowFillPaintTransformer
- ArrowDrawPaintTransformer
- EdgeDrawPaintTransformer
的邊緣是否有綠色或黑色塗漆的決定是基於在這個例子中的頂點(語句if (s.equals("v1") && d.equals("v0"))
意味着它是從"v1"
到"v0"
的邊緣)。
import java.awt.Color;
import java.awt.Paint;
import javax.swing.JFrame;
import org.apache.commons.collections15.Transformer;
import edu.uci.ics.jung.algorithms.layout.FRLayout;
import edu.uci.ics.jung.graph.DirectedSparseGraph;
import edu.uci.ics.jung.graph.Graph;
import edu.uci.ics.jung.visualization.VisualizationViewer;
public class JUNGEdgeColorsTest
{
public static void main(String[] args)
{
JFrame jf = new JFrame();
final Graph<String, String> g = getGraph();
VisualizationViewer<String, String> vv =
new VisualizationViewer<String, String>(new FRLayout<String, String>(g));
Transformer<String, Paint> colorTransformer = new Transformer<String, Paint>()
{
@Override
public Paint transform(String e)
{
final String s = g.getSource(e);
final String d = g.getDest(e);
if (s.equals("v1") && d.equals("v0"))
{
return Color.GREEN;
}
return Color.BLACK;
}
};
vv.getRenderContext().setArrowFillPaintTransformer(colorTransformer);
vv.getRenderContext().setArrowDrawPaintTransformer(colorTransformer);
vv.getRenderContext().setEdgeDrawPaintTransformer(colorTransformer);
jf.getContentPane().add(vv);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.pack();
jf.setVisible(true);
}
public static Graph<String, String> getGraph()
{
Graph<String, String> g = new DirectedSparseGraph<String, String>();
g.addVertex("v0");
g.addVertex("v1");
g.addEdge("e0", "v0", "v1");
g.addEdge("e1", "v1", "v0");
return g;
}
}
+0
謝謝lotttttttttttttttt .............. – anupammaiti
相關問題
- 1. 兩張不同的邊緣顏色圖在同一張圖上?
- 2. cytoscape中不同組邊緣的不同顏色代碼
- 3. JUNG - 帶圖標的邊緣
- 4. 如何繪製不同邊緣顏色的相同節點對應兩個不同的圖形?
- 5. 向自定義邊緣添加顏色
- 6. 在visNetwork中爲邊緣顏色添加圖例
- 7. 如何在opencv中爲圖像添加邊框,邊框顏色必須與圖像顏色相同
- 8. 如何用matplotlib爲燭臺添加邊框或邊緣顏色?
- 9. 同一圖中的不同顏色條
- 10. JIT添加子圖個別邊緣顏色
- 11. 不同顏色的多邊形疊加
- 12. 如何爲同一邊框使用不同的顏色?
- 13. 如何在asp.net中的文本框旁邊添加不同的顏色
- 14. 顏色只有div的一個邊緣?
- 15. 如何在同一個標籤中設置不同的顏色?
- 16. 向Android視圖的頂部和底部邊緣添加不同顏色邊框的方法
- 17. 如何在設置邊緣顏色與不同的對象Cytoscape的JS
- 18. 在JUNG圖的邊緣放置一個字符串
- 19. 如何爲jung中的兩個現有節點/頂點添加邊緣
- 20. Jgrapht邊緣顏色
- 21. d3.js-在堆疊條形圖中的一個條中添加不同顏色
- 22. 如何更改JUNG邊緣的邊緣標籤?
- 23. 如何爲CALayer的不同邊框使用不同的顏色?
- 24. 來自graphml的Jung加權邊緣
- 25. 如何在JUNG中滾動時移動圖形邊緣
- 26. 如何添加不同的背景顏色到多個figcaptions?
- 27. 如何在多個多邊形Google地圖V3中填充不同的顏色?
- 28. 如何在Neo4j圖中爲不同顏色的某些邊着色
- 29. 兩個不同的顏色在容器內分開,伸展到屏幕邊緣?
- 30. 如何獲得JUNG邊緣長度?
這不僅是兩點之間的連接。其實我是用JUNG繪製網絡圖。 – anupammaiti