我应该完全避免使用那些方法吗?
是,表示应用程序代码。
出于某种原因定义了这些方法。那么我什么时候应该使用它们呢?在哪种情况下?出于什么目的?
我不知道,我个人认为这是API设计事故。复合组件稍微强加了对子项大小有特殊想法的组件。“轻微”,因为他们应该已经使用自定义LayoutManager实现了他们的需求。
使用这些方法的负面后果到底是什么?(我只能考虑在具有不同屏幕分辨率的系统之间增加可移植性。)
某些技术原因(不完整,不幸的是,由于SwingLabs迁移到java.net而导致链接断开),例如,在“规则”(hehe)或他/她对我的答案的评论中找到的@bendicott链接中提到了技术原因。在社交上,将大量工作交给不幸的同事,他必须维护代码并必须查找损坏的布局。
我认为任何LayoutManager都不能完全满足所有所需的布局需求。我真的需要为我的布局中的每个小变化实现一个新的LayoutManager吗?
是的,有足够强大的LayoutManagers可以很好地满足“所有布局需求”。前三个是JGoodies FormLayout,MigLayout,DesignGridLayout。因此,实际上,除了简单的高度专业化的环境外,您很少编写LayoutManager。
如果对4的回答为“是”,这是否会导致LayoutManager类的泛滥而导致难以维护?
(对4的回答为“否”。)
在需要定义子组件之间比例的情况下(例如,子组件1应使用10%的空间,子组件2应占40%的空间,子组件3应占50%的空间),是否可以在不实现自定义LayoutManager的情况下实现这一点?
三巨头中的任何一个都不能甚至不可以使用GridBag(永远不要操心真正的大师,以太少的力气就麻烦很多)。



