GUI程序,tabbedpanes的问题

时间:2009-10-19 10:58:33

标签: java user-interface jtabbedpane

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

我创建了一个Window和Panel类。我正在考虑在Panel类中创建Input和Display选项卡,然后再创建两个类,InputPanel和DisplayPanel。因此,InputPanel将在“输入”选项卡下包含此图片中的内容,并且“显示”选项卡中的内容相同。有没有更好的方法来设计它?

此外,由于“输入”选项卡中有3个部分(名称和句子,犯罪,按钮),我应该创建3个面板还是仅包含1个面板?

由于

3 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:1)

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

正如布莱恩所暗示的,最好是设计GUI,然后测试它,就像真正的用户一样。您觉得工作流程易于理解吗? (让其他人来测试它!)使用感觉自然吗?使用起来快吗?
然后,您可以根据这些观察结果调整设计。

答案 2 :(得分:1)

您可以将InputPanel和DisplayPanel创建为单独的类。

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

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