BorderLayout布局是把界面分成5部分,5个部分分别叫做不同的限制,叫法还挺多,总共3种叫法。
叫法1:
PAGE_START,LINE_START,CETER,LINE_END,PAGE_END
叫法2:
NORTH,EAST,CENTER,WEST,SOUTH
叫法3:
BEFORE_FIRST_LINE,BEFORE_LINE_BEGINS,CENTER,AFTER_LINE_ENDS,AFTER_LAST_LINE
三种叫做按照顺序是一一对应的,都是string类型的,这5个东西叫做布局的constraint,对于每一种container都有一种布局管理器与其对应,container有个添加组件的函数add(Component,com,Object constraint)。当container的LayoutManage 是BorderLayout的时候
package caculatePos; /* * BorderLayoutDemo.java * */ import javax.swing.*; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout; public class TranslatePos { public static void initPane(Container pane) { JButton btn1 = new JButton("Button 1 (PAGE_START)"); JButton btn2 = new JButton("Button 2 (LINE_START)"); JButton btn3 = new JButton("Button 3 (CENTER)"); JButton btn4 = new JButton("Button 4 (LINE_END)"); JButton btn5 = new JButton("Button 5 (PAGE_END)"); btn3.setPreferredSize(new Dimension(200,100)); pane.add(btn1,BorderLayout.PAGE_START); pane.add(btn2,BorderLayout.LINE_START); pane.add(btn3,BorderLayout.CENTER); pane.add(btn4,BorderLayout.LINE_END); pane.add(btn5,BorderLayout.PAGE_END); } public static void main(String[] args) { JFrame frame = new JFrame(); //frame.getContentPane().setLayout(new GridLayout(2,3)); initPane(frame.getContentPane()); frame.pack(); frame.setVisible(true); } }在frame的layout没有设置时候,程序运行是这样的
在把注释行去掉后,程序运行时这样的
总上所示,frame默认的layout是BoderLayout