Java图形界面中组件放置在窗体上的位置不是通过坐标来控制的,而是由布局管理器根据组件的加入顺序决定其位置。使用不同的布局管理器,组件的大小,形状和位置都不相同。

我在这里给大家说下BorderLayout布局管理器

只要你不设置其他布局,JFrame的默认布局管理器就是BorderLayoutBorderLayout是把窗体分为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);

       

    }

   

}