我对java (特别是swing)比较陌生,最近做了一些相当简单的应用程序,边学边学。最新的一个有很多表单组件,如JLabels,JTextFields,JButtons等。所有这些都是使用可视化构建器放置在NetBeans中的。我不得不说,我并不是真的喜欢NetBeans,我只是在设计图形用户界面,并将代码直接复制到Eclipse中。
我的问题是:是否值得非常好地理解GroupLayout和手工编码(因此可以更好地控制我的图形用户界面),或者只是按原样继续下去?
发布于 2009-02-12 22:44:59
我想说花点时间来理解GroupLayout是值得的,因为理解你的集成开发环境正在做什么总是一个好主意。了解幕后发生的事情实际上使您更加灵活,因为如果您最终遇到无法访问Netbeans的情况,您将知道如何复制它为您生成的布局。此外,在你获得了大量的经验之后,你可能最终会节省整体的时间。手动开发简单的GUI通常比使用可视化编辑器更快,特别是考虑到将代码从Netbeans复制并粘贴到Eclipse所花费的时间。
当然,学习如何手动使用GroupLayout也会使您更容易过渡到Java语言提供的任何其他布局管理器,这反过来可以使代码更简单,节省更多时间。
发布于 2009-02-12 22:33:02
GroupLayout实际上并不是为手工编码而设计的;它比任何其他布局管理器都要冗长得多(可能除了GridBagLayout)。既然您说您是Swing的新手,我建议从基本的布局管理器(BorderLayout和FlowLayout)开始;您可以在NetBeans中使用它们,方法是右键单击面板或框架并选择“设置布局”。在你熟悉了这些之后,我建议你去看看MiGLayout。
回答您的另一个问题:我认为NetBeans form designer类似于计算器;如果您已经了解基础知识,那么它是一个很棒的工具,但是如果您只是将其用作拐杖,则永远不会学到任何东西。
发布于 2011-11-24 22:34:57
GroupLayout 值得学习以编程方式使用。
在我创建的几乎每个使用标准Swing组件的面板上,我都使用GroupLayout作为默认布局。我发现结果总是非常令人愉悦的,并且调整得非常好。我总是设置这些选项:
groupLayout.setAutoCreateGaps(true);
groupLayout.setAutoCreateContainerGaps(true);反复使用这种布局不仅给我带来了漂亮的布局,还让我获得了将一些复杂的面板与许多在编译时未知的组件组合在一起所需的低级经验。我还发现,当组件的数量是动态的时,我可以布局所有组件,然后使用setVisible(boolean)打开和关闭它们,而无需重新创建水平和垂直组。
https://stackoverflow.com/questions/543574
复制相似问题