2012-12-13 147 views
0

我使用jung库来绘制我的图形,所以我想知道是否有任何方法创建不同形状的顶点而不是创建椭圆。例如,我想要八角形。这是我的设置形状:如何使用不同的形状作为jung形状转换

Transformer<String,Shape> vertexSize = new Transformer<String,Shape>(){ 

    @Override 
    public Shape transform(String str) { 
     Ellipse2D circle = new Ellipse2D.Double(-5, -5, 10, 10); 
     if(drugnames.contains(str)){ 
      return AffineTransform.getScaleInstance(3,3).createTransformedShape(circle); 
     } 
     else{ 
      return AffineTransform.getScaleInstance(1,1).createTransformedShape(circle); 
     } 

     // TODO Auto-generated method stub 
    } 
}; 
+0

[Polygon](http://docs.oracle.com/javase/6/docs/api/java/awt/Polygon.html)怎么样? – brimborium

+0

我试图使用多边形,但它给了我非常无关的形状。 –

+0

向我们展示您对“Polygon”所做的工作,并向我们展示“无关”的形状。因为我认为这是你需要使用的... – brimborium

回答

0
VisualizationViewer.getRenderContext().setVertexShapeTransformer(vst) 

其中VST是Transformer<V, Shape>

AbstractVertexShapeTransformer can do a lot of the heavy lifting for you. 

为(源是分布的一部分)中动作的这些事实例见PluggableRendererDemo