仅Java库中就有8个布局管理器,还有一堆第三方产品。
前几天,我试着用SpringLayout .好吧,这对我不管用。看看我的其他问题。所以..。如果你有一个要设计的Swing应用程序,并且你希望你的布局就是这样,你喜欢的布局管理器是什么?有什么有趣的/有用的经验吗?
更新:是的,当然我知道不同的适合不同的布局。但我想,你们大多数人都会用1,2或3来做你所做的每件事,或者,你们会用一种用途广泛的,你再也不需要其他东西的方式发誓。如果有足够的响应,我希望看到类似于钟形曲线的东西,比如在GridBagLayout或MigLayout上有一个峰值,使用(比方说) BoxLayout或FlowLayout的几个散乱者的长尾。
希望响应的分布将揭示一些趋势,即人们使用什么来完成™工作。
更新和摘要
好的,过了将近两天,MiGLayout绝对领先了!它的粉丝们会很高兴听到这个版面看起来很快就会进入“官方”图书馆。
GroupLayout、FormsLayout和TableLayout都是相对较新的,而且没有得到太多的曝光。也许其他人会和我一样惊讶地发现他们的情况。
发布于 2009-12-02 11:55:09
毫无疑问,MiGLayout。老实说,这是我所知道的唯一有意义的摇摆布局管理器。
仅是在核心JDK中有8个布局管理器这一事实就是一个好迹象,表明Swing创建者完全不知道他们想要做什么。这不是要破坏其余的Swing -它是一个很好的GUI工具包,除了布局管理器。
发布于 2009-12-03 07:23:14
所有的,结合在一起。,这就是重点。每个布局管理器都满足不同的需求,通过使用不同的布局管理器嵌套面板,您几乎可以实现任何目标。
“在一个面板中做每件事”的布局管理器,比如GridBagLayout
和GroupLayout
(以及很多第三方的)都有自己的位置,主要是当您需要布局的不同部分中的组件来对齐时,但是使用大型布局时,它们通常会造成巨大的、难以处理的混乱。
发布于 2009-12-03 08:12:10
这取决于您正在创建的GUI类型。您可能只使用一两个简单的布局,或者您可能需要达到一个更高级的布局。我的总体布局管理器的使用可能会细分为类似这样的东西,尽管它会根据项目而有所不同:
一旦掌握了GridBagLayout的诀窍,最初编写并不是那么糟糕,但使用它或稍后进行调试仍然不太好。最近,我尝试了一些MiGLayout,但失望地发现,在这种情况下,MiGLayout的使用实际上比GridBagLayout更复杂。
有些人试图像避免瘟疫一样避免GridBagLayout;但事实是,有些事情没有简单的布局组合就能处理。可以将GUI划分为不同逻辑部分的面板,但我认为,如果您只是为了定位组件而创建大量不必要的额外嵌套面板,那么显然需要学习如何使用GridBagLayout (或其他类似的高级布局,如MiGLayout)。您可能会让您的GUI看起来与嵌套的BorderLayouts、GridLayouts和BoxLayouts混在一起,但一旦有人开始调整您的应用程序窗口和对话框的大小,使其比最初设计的更小或更大,您的GUI可能会看起来很糟糕,而且您的客户将开始对您的产品形成负面的看法,因为您无法正确地处理这么简单的事情。
更新:我在Eclipse中使用WindowBuilder已经有一段时间了,它极大地简化了许多布局的工作,特别是GridBagLayout。我过去花了很多时间手工编写布局,但是使用WindowBuilder或任何类似的高级可视化编辑器,您可以在更短的时间内创建布局。
https://stackoverflow.com/questions/1832432
复制相似问题