设计UML类图工具

时间:2011-08-21 00:49:51

标签: java swing

我在java中使用UML类图工具进行个人项目,并在一些设计/编程问题上运行。

首先是类图框。我正在考虑是否构建自己的组件来表示它,但是当它在面板上绘制时,用鼠标移动会很尴尬。因为java中的所有布局管理器都不允许我把盒子放在任何地方。

或者,如果我选择将我的组件绘制为面板上的矩形框,那么它将是最简单的实现,但我不能用鼠标移动它。

我应该如何处理这个问题的任何提示或指针?

6 个答案:

答案 0 :(得分:3)

Component Mover类可以帮助您拖动组件。

答案 1 :(得分:3)

还要考虑JGraph,它是几个图表工具的基础。

答案 2 :(得分:2)

  

我在考虑是否构建自己的组件来表示它,但是当它出现时   在面板上绘制,用鼠标移动会很尴尬。   因为java中的所有布局管理器都不会让我把它放在盒子里   在任何地方自由。

如果您需要绝对定位组件,您必须具备以下可能性:

  1. 使用空布局管理器(BAD解决方案,但在某些有限的情况下,您可以节省一些时间)
  2. 实施您自己的布局管理器
  3.   

    或者,如果我选择将我的组件绘制为面板上的矩形框   那么它将是最简单的实现,但我无法移动它   用鼠标。

    没错。如果你需要鼠标交互,最好使用Component而不是绘制矩形。

答案 3 :(得分:2)

另一个图形可视化工具是JUNG framework:附带有用的动态“布局管理器”,可以很容易地扩展。 Plus拥有丰富的用户(通过鼠标)与可插拔扩展设计的默认交互。

答案 4 :(得分:1)

不幸的是,Java Swing没有Canvas类,这对于这个问题是理想的。但是,this question and its answers演示了如何使用JPanel实现类似画布的行为。您可以在JPanel上手动绘制框,就好像它是画布一样。

要在面板上移动框,您可以在JPanel上捕获鼠标事件并自行处理它们。

答案 5 :(得分:0)

我在这里找到了这个教程Resizable component,这正是我所需要的!面板根本不使用任何布局管理器!所以现在我正在使用代码并重新组织它以适应类图。

接下来将实现观察者模式,以便在面板中移动时箭头将获得框的更新日期位置。