用JUNG创建“不同的”顶点

时间:2011-05-10 06:16:29

标签: java jung

基本上我有一个类GraphData.java,它包含带有构造函数的静态类,用于使用JUNG程序在Java中创建顶点和边。我所拥有的顶点类中的一个属性是private int dataType。基于此dataType(1,2或3),节点将显示为圆形,方形或三角形。当我在主类中手动创建节点并硬核化dataType时,我可以这样做。我正在寻找更有活力的解决方案。

我想要做的是说定期左键单击将dataType设置为1,从而绘制一个圆圈,但是如果我按住shift并左键单击它会将dataType设置为2,从而绘制一个正方形并按住ctrl +单击三角形。有谁知道如何做到这一点?提前谢谢。

这是我正在使用的鼠标:

EditingModalGraphMouse gm = new EditingModalGraphMouse(vv.getRenderContext(), 
GraphData.MyVertexFactory.getInstance(),
GraphData.MyEdgeFactory.getInstance());

1 个答案:

答案 0 :(得分:1)

你必须使用Transformer,例如当您可以更改形状时,扩展EllipseVertexShapeTransformer并实现方法转换。然后,将此Transformer添加到VisualizationViewer。另外,请查看JUNG演示的源代码 - 它涵盖了大多数情况。