未加布局管理器的原始代码:
JButton newButton=new JButton("New");
add(newButton);
final JButton closeAllButton =new JButton("Close all");
add(closeAllButton);
输出截图:
当我们加上布局管理器后,如下:
setLayout(new BorderLayout());
JButton newButton=new JButton("New");
add(newButton,BorderLayout.NORTH);
final JButton closeAllButton =new JButton("Close all");
add(closeAllButton,BorderLayout.SOUTH);
输出如下:
很和谐,有木有,那么。我们如果将他们都记在NORTH,会怎么样了,一起来看一看:
setLayout(new BorderLayout());
JButton newButton=new JButton("New");
add(newButton,BorderLayout.NORTH);
final JButton closeAllButton =new JButton("Close all");
add(closeAllButton,BorderLayout.NORTH);
输出:
,
咦,我的New呢?
这是怎么回事儿呢?
原来,每次调用边界布局器都会重新在相应的边界添加组件,上次的布局自然会被覆盖,他们还真是不将就啊!
以后编写代码一定要注意!