1

我正在使用 MVC 创建一个 GUI 程序,它应该看起来像这样.. alt text http://img137.imageshack.us/img137/6422/93381955.jpg

我创建了一个窗口和面板类。我正在考虑在 Panel 类中创建 Input 和 Display 选项卡,然后再创建两个类 InputPanel 和 DisplayPanel。因此 InputPanel 将在 Input 选项卡下包含此图片中的内容,对于 Display 选项卡也是如此。有没有更好的方法来设计这个?

此外,由于“输入”选项卡中有 3 个部分(姓名和句子、犯罪、按钮),我应该创建 3 个面板还是只创建一个包含所有这些的面板?

谢谢

4

3 回答 3

2

要回答您关于使用三个面板而不是 1 个的具体问题,我建议您使用两个。很少需要创建面板来创建单个小部件。因此,一个用于名称和句子的小部件,一个用于犯罪的小部件。

至于“有没有更好的方法来设计这个”的问题?......听起来你正在学习,所以我建议你不要过于关注完美的方式来做到这一点。坚持你的原始设计,然后在任务完成后问问自己什么有效*什么无效。有了这些信息,您将能够自己决定您所做的是否是正确的设计。

设计 GUI 代码时通常没有“最好的”——有很多方法可以解决问题。您所描述的听起来像是解决问题的绝佳方法

(*)在这种情况下“工作”意味着,它容易编码吗?它是否允许您实现所需的布局?例如,如果需要重新组织 GUI,它是否使代码可随着时间的推移而维护?

于 2009-10-19T11:09:19.843 回答
1

Bryan 给出了很好的建议,我只想补充一点,人体工程学并不是一门精确的科学,尽管经验对此有所帮助。
标签很好,例如。分离设置,或在同一个面板(例如工具箱)中分组不同的工具集(图层、颜色、画笔......)。
但它们可能并不适用于所有工作流程。但我们缺乏有关“显示”选项卡角色的信息。是否应该在表格中列出所有罪行?桌子(如果有的话)不能在控件下方吗?

正如 Bryan 所暗示的,最好设计 GUI,然后对其进行测试,就像做一个真正的用户一样。您觉得工作流程容易理解吗?(让别人来测试它!)使用感觉自然吗?使用起来快吗?
然后你可以根据这些观察调整设计。

于 2009-10-19T11:21:05.200 回答
1

您将 InputPanel 和 DisplayPanel 创建为单独的类是正确的。

至于进一步拆分这些面板?是的,您应该将它们进一步拆分,但不要分成单独的类。您应该在 InputPanel 和 DisplayPanel 中添加 jPanel,并在这些内部 jPanel 中对控件进行分组。

如果您希望我澄清我的意思,请告诉我。

于 2009-10-19T11:21:12.703 回答