0

我们正在制作一个 UML 工具作为我们本科项目的一部分。我们处理在屏幕上绘制的属性的方式如下:

  1. 每件事都绘制在一个 JPanel 上,该 JPanel 上绘制了一个网格。
  2. 此 JPanel 的引用被传递给要绘制的项目,例如类或接口等等。
  3. 然后我们简单地绘制形状(通过 drawRect),当添加属性时,我们只需使用第 2 点中传递的引用在 JPanel 上添加表示它们的 JLabels。但对于用户来说,它们似乎是在形状上绘制的。
    我的问题是,我们的方法对吗?还是有更好的方法来完成这项任务?我附上一张图表来说明我们拥有什么?或者使用 JLabel 来完成这项任务是个坏主意?JPanel 的引用仅用于绘制 JLabels。否则不需要。 class2 和属性都是 JLabels。 用户可以分别通过右键单击和左键单击更改其可见性和名称
4

1 回答 1

1

看来您是说持有属性的 JLabels 放置在具有网格的大 JPanel 上。

我同意评论者说这是主观的,但我有一个替代方案可以提供给你,我认为它更好,值得一个答案。您在整个绘图上有一个矩形空间,它代表一个项目——在这种情况下是一个对象。我认为很可能现在或将来你会想要对这个项目做一些事情,如果你单独绘制项目的组件,你将致力于跟上它的所有子项目你自己的代码。

相反,我建议使用一个表示对象的 JPanel,并将要在该矩形内显示的任何属性或任何其他内容放置在对象的 JPanel 上,而不是网格的 JPanel 上。

于 2013-08-30T23:59:36.413 回答