awt从入门到精通~~~6~~~(SWING布局)~~~~~使用代码讲解学习方式

awt从入门到精通~~~6~~~(SWING布局)~~~~~使用代码讲解学习方式
BoxLayout的类层次结构图:
    java.lang.Object
     --java.awt.BoxLayout

   BoxLayout提供了两个常数X_AXIS,Y_AXIS来表示水平或垂直排列。若放进去的组件不等高,则系统将会使所有的组件与最高组件等高,还有,若你将组件都摆在同一行时,系统不因组件宽度在于Container的宽度,而使组件自动摆在下一行,你必须自行处理换行的操作。

构造函数:
     BoxLayout(Container targe,int axis)建立一个水平或垂直的BoxLayout.讲到BoxLayout,我们就不得不提到Box这个Container,Box这个Container默认的Layout为BoxLayout,而它只能使用这个Layout,否则编译时会有Error产生,如同前面所讲的,BoxLayout是以水平或垂直方式排列,因此,当我们要产生一个Box Container时,就必须指定它的排列方式,下面为Box的构造函数:
 
Box(int axis) 建立一个Box Container,并指定组件的排列方式是水平或垂直。
 
上面的axis参数,我们可以使用BoxLayout.X_AXIS或BoxLayout.Y_AXIS来指定。或是利用Box类所提供的两个方法:
  
 createHorizontalBox()与createVerticalBox(),来建立BoxContainer.Box类提供4种透明的组件来做更方便的版面管理。分别是glue、strut、rigid、filler:
 下面以两个相连的按钮当例子,起始状态如下:

代码:

 1 import  java.awt. * ;
 2 import  java.awt.event. * ;
 3 import  javax.swing. * ;
 4  
 5 public   class  B1 {
 6    public B1(){
 7          JFrame f=new JFrame();
 8      
 9          Container contentPane=f.getContentPane();
10          Box baseBox=Box.createHorizontalBox();
11          contentPane.add(baseBox);
12          baseBox.add(new JButton("A"));
13          baseBox.add(new JButton("B"));
14      
15          f.setTitle("BoxLayout");
16          f.setSize(new Dimension(200,50));
17          f.setVisible(true);
18      
19         f.addWindowListener(
20             new WindowAdapter(){
21                 public void windowClosing(WindowEvent e){
22                    System.exit(0); 
23                  }
 
24              }
 
25         );
26       
27     }
 
28  public static void main(String[] args){
29  B1 b=new B1();
30  }

31}

32


地震让大伙知道:居安思危,才是生存之道。

你可能感兴趣的:(awt从入门到精通~~~6~~~(SWING布局)~~~~~使用代码讲解学习方式)