2011-05-26 145 views
-1

我必须创建一个用户界面,允许用户通过添加顶点和边来创建图形。我已经完成了所有的基本编码,并且希望向gui添加一个按钮以允许添加顶点。我从另一个班的画布上绘制图形。现在我的问题是,如果我在GUI类中创建图形,如何从画布访问它以绘制它?或者,如果我在画布类中创建图形,如何让按钮更新图形? 不知道要给哪些代码片段...从不同类访问类的实例?

+1

您需要提供比此更多的信息。你用什么来创建用户界面? – YXD 2011-05-26 15:56:13

+1

看看[Model-View-Controller](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)。即使你不遵循这个模式,它也会让你考虑将你的模型与演示分开。 – 2011-05-26 15:57:41

+0

对UI使用swing和awt – Pseudos 2011-05-26 15:58:37

回答

1

您的画布和按钮对象不知何故需要协调。要么按钮必须知道画布,要么画布必须知道按钮,或者他们都必须知道第三个类(可能是将UI集中在一起)提供给他们的图形对象。

您可以将getGraph()方法添加到其中一个对象以允许进行必要的访问。

+0

谢谢!我稍微更改了画布,以便在方法外创建图形,并添加方法;接受来自UI类的参数;这将添加/删除图中的东西。只是有想法,希望它的作品! – Pseudos 2011-05-26 16:06:09

+0

它Wooorks!感谢您的精彩建议 – Pseudos 2011-05-26 16:20:53

0

您应该有某种数据结构来存储有关节点和边缘的信息。你的画布应该读取它绘制,你的用户界面应该插入/更新/删除该结构中的项目。

只要您存储此结构,您将不得不提供对其的引用或对其进行修改的方法。