我一直在尝试使用15-20个可视组件(按钮,文本字段等)在NetBeans中设置Java表单,并且我一直在MAC上使用自由设计布局范例。
根据我所读到的,Free Design布局为我提供了各种对齐指南,但并不试图强制我对齐特定的行和列分隔符。但是,我发现当我这样做时,我的形状的宽度可能会随意改变,或者当我对其他元件位置进行微小的调整时,我已经放置的一些元件会根本移动。
有没有办法锚定所有这些组件,一旦放置,或者是否有更好的布局范例,让我可以自由地将组件放置在我想要的位置?
答案 0 :(得分:2)
恕我直言,如果您知道自己想要什么之前,马蒂斯效果最佳。迭代更改似乎没有这么好。
以下是在自由形式模式下使用Matisse时遵循的一些规则。他们不会让它变得美妙,只会减少痛苦:
答案 1 :(得分:0)
也许现在是时候研究其他的LayoutManagers了,比如GridBag或者其他能给你想要的东西。 NetBeans的内置选择听起来很糟糕,可以满足您的需求。
如果选择null LayoutManager,您将获得绝对定位。
但随之而来的是绝对的责任:没有帮助重新定位任何元素。
答案 2 :(得分:0)
我发现使用GroupLayout直接效果非常好。一开始可能会让人感到困惑,因为水平和垂直布局是分开进行的,但是一旦你习惯它,就不那么困难了。你绝对可以让事情协调一致,并在调整大小时坚持下去。它比远更好,然后使用嵌套面板,GridBags和那种东西。
MigLayout也可能有效,但GroupLayout包含在JDK中。
答案 3 :(得分:0)
您可能需要查看绝对布局。它允许您将组件准确地放在您想要的位置,而不会全部跳转。
答案 4 :(得分:0)
GridBag Layout是我最喜欢的,特别是在Matisse(Netbeans GUI)中。你有一个向导以图形方式管理所有属性 你会想到几个例子来让事情变得完美,但是当你这样做时,你永远不会回头。
答案 5 :(得分:-1)
我强烈建议MigLayout(并远离GUI布局工具)。每当您认为通过使用GUI工具进行保存时,第二次运行布局管理器行为就会很快消失。 Real UI是经过编码的,不是拖放式构建的。
我发现我花了大约3个小时的时间来习惯MigLayout - 在那段时间的休息之后,我发现它非常直观和强大。