在 Java 中组件在屏幕上的位置由组件所在的容器的布局管理器决定。 如果组件所在的容器有布局管理器,那么,组件自身的位置和大小属性均不起作用,如果容器没有布局管理器,则组件将由它自己决定位置和大小属性。说的不清楚的话看看下面的例子或许一下子就明白了:
1 setLayout( new BorderLayout( 0, 0); //创建窗口的布局管理器为BorderLayout
2 b = new Java.awt.Button(); //创建一个按钮b
3 b.setBounds( 0, 0, 10, 10); //设置按钮的大小
4 add( b ); //将按钮加入到窗口中去
在这个例子中,虽然设置了按钮的大小,但是,由于窗口中包含布局管理器,所以按钮不能自己决定位置和大小,而是由布局管理器来控制的。即第 3 句 b.setBounds( 0, 0, 10, 10) 实际是不起作用的。