有关在Java中将JLabel添加到矩形的建议

时间:2013-08-30 23:22:53

标签: java swing

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

  1. 每个东西都是在JPanel上绘制的,上面画有一个网格。
  2. 将此JPanel的引用传递给要绘制的项目,例如类或接口等。
  3. 然后我们简单地绘制形状(通过drawRect),当添加属性时,我们只需使用第2点中传递的引用在JPanel上添加表示它们的JLabel。但是对于用户来说,它们会在形状上绘制。登记/> 我的问题是,我们的方法是对的吗?或者有更好的方法来完成这项任务吗?我附上一张说明我们所拥有的图表的图表?或者使用JLabel执行此任务是个坏主意? JPanel的引用仅传递给绘制JLabel。否则就不需要了。 class2 and attributes all are JLabels. User can change their visibility and name by right click and left click respectively

1 个答案:

答案 0 :(得分:1)

您似乎在说JLabels保留属性放置在具有网格的大型JPanel上。

我同意评论者说这是主观的,但我有另一种选择,我认为它是如此好,以至于它应该得到答案。在整个图形上有一个矩形空间,表示一个项目 - 在这种情况下是一个对象。我认为现在或将来你可能想要用这个项目来做事情,如果你单独绘制项目的组成部分,你将承诺自己跟上它的所有子项目。你自己的代码。

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