我应该将哪个LayoutManager用于Java GUI?

sno*_*yak 2 java swing layout-manager

我想创建一个GUI并通过代码执行它,而不是像Netbeans一样拖动所有内容.如果可能的话,我想设置我要插入的每个东西的坐标,因为它将为我提供我想要的精度.我已经尝试了GridBagLayout,并没有发现它是我喜欢的,但也许我不知道它知道该怎么做.也许MigLayout对我来说是一个不错的选择,但我想知道我需要什么更好的东西.

总结:我想制作一个GUI,我可以直接添加每个对象的特定坐标.我使用哪种布局?

Vla*_*lad 5

对于每个面板,您可以/应该具有不同的布局管理器,具体取决于您将在内部布局.没有"通用"布局管理器,特别是在手动编码时,使用"最合适"的布局管理器来完成您正在解决的任务是优雅和有用的.例如,否则非常高级的GridBagLayout无法模拟WrapLayout.

您可能会发现此页面可用作正确布局管理器选择的提示列表.

但请注意,每个布局管理器都有其在Swing中的怪癖,因此从一个布局管理器切换到另一个布局管理器可能会给您带来一些小麻烦.例如,其中一些尊重Minimum/MaximumSize,有些则不尊重,等等.

总结:您不应尝试"手动"设置坐标.虽然这是可能的,但以逻辑方式表达视觉元素之间的关系要好得多.这将有助于您使页面可调整大小,解决本地化,正确嵌套和提取控件,以及我目前不记得的许多其他地方.