java - 单个模型元素在 UI 中多次表示...如何在 GEF 中实现?

标签 java eclipse eclipse-gef

我有一个模型,其中一个模型对象在显示的图表中多次表示。考虑以下模型:

  1. 有很多分区
  2. 每个分区都有 x SourcePorts 和 y DestinationPorts
  3. 每个 SourcePort 都可以连接到 DestinationPort
  4. 已选择一个分区

我想将其可视化,以使所选分区位于中心:

  1. 左侧显示所有可见的分区,并绘制了所有源端口
  2. 中心是选定的分区,其中所有端口均已绘制
  3. 右侧显示所有可见的分区,并绘制了所有目标端口
  4. 端口之间的所有连接均已绘制
  5. 用户可以操纵端口和连接(添加/删除端口和连接)

所以我的分区模型映射到多个图形。普通分区绘制两次(左侧一次,右侧一次),所选分区绘制三次。

如何在 GEF 中实现这一点?我应该为每个分区创建一个 EditPart 并让它为所有图形表示返回一个 IFigure 吗?或者绘制到屏幕上的每个实例都应该有它自己的 EditPart 吗?或者创建一个额外的模型(其中一个分区通过多个模型实例表示)是否有益?

最佳答案

我建议创建一个包含所有可视化数据的不同模型: 通过这种方式,您可以将数据模型的元素链接到可视化模型的多个元素实例,并以简单而优雅的方式解决您的问题。此外,您不会用可视化所需的所有数据(即图中元素的坐标)“污染”数据模型。

致敬

关于java - 单个模型元素在 UI 中多次表示...如何在 GEF 中实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4254662/

相关文章:

java - 赋值运算符链理解

安卓 OCR : AndrOCR source code error

java - Android:类文件与源代码不匹配

java - 尝试保存 10 位数字电话号码,但抛出无效 int 错误

java - Eclipse建模框架和Eclipse图形编辑框架有什么用?

java - 为什么我的自定义按钮不起作用?

Java创建实例数组

java - draw2d 导入未解决

java - 甲骨文对谷歌的诉讼对 Android 开发者意味着什么?

java - 为什么选择全局环境基金?我什么时候必须使用 GEF