java 布局之BorderLayout – edutissarcer的专栏 – 博客频道 – CSDN.NET

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的时候

[java] view plai

  1.    
  2. package caculatePos;  
  3.    
  4. /* 
  5.  * BorderLayoutDemo.java 
  6.  * 
  7.  */  
  8. import javax.swing.*;  
  9.   
  10. import java.awt.BorderLayout;  
  11. import java.awt.Container;  
  12. import java.awt.Dimension;  
  13. import java.awt.GridLayout;  
  14.    
  15. public class TranslatePos {  
  16.   
  17.       
  18.     public static void initPane(Container pane)  
  19.     {  
  20.         JButton btn1 = new JButton(“Button 1 (PAGE_START)”);  
  21.         JButton btn2 = new JButton(“Button 2 (LINE_START)”);  
  22.         JButton btn3 = new JButton(“Button 3 (CENTER)”);  
  23.         JButton btn4 = new JButton(“Button 4 (LINE_END)”);  
  24.         JButton btn5 = new JButton(“Button 5 (PAGE_END)”);  
  25.           
  26.         btn3.setPreferredSize(new Dimension(200,100));  
  27.           
  28.         pane.add(btn1,BorderLayout.PAGE_START);  
  29.         pane.add(btn2,BorderLayout.LINE_START);  
  30.         pane.add(btn3,BorderLayout.CENTER);  
  31.         pane.add(btn4,BorderLayout.LINE_END);  
  32.         pane.add(btn5,BorderLayout.PAGE_END);  
  33.           
  34.     }  
  35.     public static void main(String[] args)  
  36.     {  
  37.         JFrame frame = new JFrame();  
  38.         //frame.getContentPane().setLayout(new GridLayout(2,3));  
  39.         initPane(frame.getContentPane());  
  40.         frame.pack();  
  41.         frame.setVisible(true);  
  42.     }  
  43.   
  44. }  

在frame的layout没有设置时候,程序运行是这样的

在把注释行去掉后,程序运行时这样的

总上所示,frame默认的layout是BoderLayout

标签