11.6.1 网格包布局
过程:
- 创建一个GridBagLayout类型的对象
- 将这个对象设置为组件的布局管理器
- 对于每个组件,创建一个GridBagConstraints类型的对象,设置该对象的字段值来指定组件在网格包中如何布局。
- 通过add(component,constraints)来为每个组件添加约束
example:
GridBagLayout layout = new GridBagLayout();
panel.setLayout(layout);
GridBagConstraints constraints = new GridBagConstraints();
//设置constraints的字段值
panel.add(component,constraint);
11.6.2 定制布局管理器
定制布局管理器必须实现LayoutManager接口,并且需要覆盖下面五个方法:
//将组件添加到布局中
void addLayoutComponent(String s, Component c);
//从布局中删除一个组件
void removeLayoutComponent(Component c);
//返回这个布局中容器的首选尺寸
Dimension preferredLayoutSize(Container parent);
//返回这个布局中容器的最小尺寸
Dimension minimumLayoutSize(Container parent);
//在容器中摆放的组件
void layoutContainer(Container parent);