gpt4 book ai didi

java - 使用 JUNG 创建 "different"顶点

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:58 25 4
gpt4 key购买 nike

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

我想要做的是,常规左键单击会将 dataType 设置为 1,从而绘制一个圆形,但如果我按住 Shift 并左键单击,它将把 dataType 设置为 2,从而绘制一个正方形,然后按 Ctrl + 单击绘制一个三角形。有谁知道如何做到这一点?提前致谢。

这是我当前使用的鼠标:

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

最佳答案

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

关于java - 使用 JUNG 创建 "different"顶点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5945965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com