繁体   English   中英

设置Java GUI的最佳方法

[英]Best way to set up Java GUI

我目前正在做我的第一个Java Java GUI编程项目,作为一个学校作业。 我对用Java设置类和方法非常熟悉,尽管通过GUI编程的介绍,我不确定如何做到最好。

我已经在自己的程序包中设置了GUI。 我应该为每个JPanel一个新的课程吗? 到目前为止,我已经提供了一个截屏,以显示我的GUI。

替代文字http://www.aaronmoodie.com/gui.png

关于此的任何建议都将非常棒。

这取决于您要实现的目标。 例如,我不必为每个JPanel创建单独的类。 但是,如果该面板是自定义(覆盖)面板,或者包含许多其他组件的面板,或者包含大量功能,则可以将其放在自己的类中。 如果可行,我会尝试按功能分开。 我没有这样做的特殊原因,除了编写多个gui之后,这似乎使事情更简单,更整洁。 例如,在上面的示例中,您对程序的了解不多。 我可能会在第一行的下方创建一个带有jPanel,标签和组件列表的组件,这样我就可以重复使用该组件,而无需一遍又一遍地重写逻辑。

Javabuilders是我最喜欢的做简单GUI的方法。 您可以在YAML文件中声明GUI元素+布局信息的层次结构,这比手动显式创建窗口并将其添加到其父元素要容易得多。

我通常不会覆盖标准的GUI类。 看起来您有一堆JLabel,JButton,JList和JSpinner,其中一些包含在JPanels中。 您可以将在层级结构中正确创建所有这些窗口的任务(不需要任何自定义类)与管理其行为的任务分开,通过将EventListeners添加到您要管理的特定组件中,这非常容易。

Javabuilders的方法很好,因为您可以命名所有组件(这些内部名称对于程序员来说是可用的,没有显示),让它管理窗口的创建,然后通过名称(而不是通过使用名称)以编程方式访问任何感兴趣的组件遍历窗口层次结构。

确保您了解MVC模式,尤其是在Swing上下文中。

扩展swing容器类(例如JPanel)通常是通过向组件添加可重用的应用程序语义来实现的。

除此之外,扩展的(顶级JPanel)也是暴露用于管理嵌套组件的“控件”功能的良好候选类。 例如,在您的gui中,顶层容器可以是扩展类,该扩展类具有用于根据用户操作管理嵌套面板状态的方法。 (但是请注意,您不必扩展JPanel来管理嵌套组件的状态)。

如果您使用的是Eclipse,我会非常喜欢Jigloo GUI构建器。 它是免费的,用于非商业用途,并且对于商业许可证而言价格相当合理。

我倾向于发现我使用诸如Jigloo之类的工具直观地设置了我的所有组件,并为事件处理程序添加了存根,然后在标准Java编辑器中重新打开同一文件,以将代码放在所有内容的后面。 对我来说效果很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM