在Java图形界面中组件放置在窗体上的位置不是通过坐标来控制的,而是由布局管理器根据组件的加入顺序决定其位置。使用不同的布局管理器,组件的大小,形状和位置都不相同。
我在这里给大家说下BorderLayout布局管理器
只要你不设置其他布局,JFrame的默认布局管理器就是BorderLayout。BorderLayout是把窗体分为5个模块 上北,下南,左西,右东,还有中间。如图
如果你要给一个面板或者窗体加入BorderLayout布局只需要使用
\窗体名字.setLayout(new BorderLyout());
就可以了 使用add()方法可以把组件放入到各个区域当中
窗体名字.add(new JButton , BorderLayout.NORTH);
这样就把一个按钮放入到了北这个区域当中
对于除中间以外的所有位置 加入的组件将被沿着一个方向压缩到最小尺寸,同是另一个方向上拉伸到最大尺寸。对于中间来说 组件将会被向俩个方向上同是拉伸,以覆盖中间区域
一下是使用的代码:
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class LayoutTest {
public static void main(String[] args) {
new LayoutTest();
}
public LayoutTest(){
JFrame mainFrame = new JFrame("BorderLayout布局管理器");
mainFrame.setLayout(new BorderLayout());
JButton northJB = new JButton("北");
JButton southJB = new JButton("南");
JButton eastJB = new JButton("东");
JButton westJB = new JButton("西");
JButton centerJB = new JButton("中");
mainFrame.add(northJB,BorderLayout.NORTH);
mainFrame.add(southJB,BorderLayout.SOUTH);
mainFrame.add(eastJB,BorderLayout.EAST);
mainFrame.add(westJB,BorderLayout.WEST);
mainFrame.add(centerJB,BorderLayout.CENTER);
mainFrame.setSize(300,400);
mainFrame.setResizable(false);
mainFrame.setLocation(200, 250);
mainFrame.setVisible(true);
}
}
转载于:https://blog.51cto.com/6851750/1182488