当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

FlowLayout,BorderLayout,boxLayout 布局的应用

发表于: 2014-05-28   作者:百合不是茶   来源:转载   浏览次数:
摘要: FlowLayout: 流式布局,随着JFrame的大小而流动  流布局用于安排有向流中的组件,这非常类似于段落中的文本行 例如: Java代码  package 三种布局;   import javax.swing.*;      import java

FlowLayout:

流式布局,随着JFrame的大小而流动  流布局用于安排有向流中的组件,这非常类似于段落中的文本行

例如:

Java代码 
  1. package 三种布局;  
  2. import javax.swing.*;  
  3.   
  4. import java.awt.*;  
  5. public class Flow  extends JFrame{  
  6.     public static void main(String[] args) {  
  7.         Flow lay = new Flow();  
  8.         lay.go();  
  9.         
  10.     }  
  11.       
  12.     public void go(){  
  13.         //this.setBackground(Color.RED);  
  14.         this.setTitle("Flowlayout布局");  
  15.         this.setSize(400,200);  
  16.         this.setDefaultCloseOperation(3);  
  17.                //设置布局  
  18.         FlowLayout layout = new FlowLayout();  
  19.         this.setLayout(layout);  
  20.           
  21.         Label label = new Label("密码框");  
  22.         this.add(label);  
  23.         JTextField field = new JTextField(20);  
  24.         this.add(field);  
  25.           
  26.         Label labe = new Label("密码");  
  27.         this.add(labe);  
  28.         JTextField fiel = new JTextField(20);  
  29.         this.add(fiel);  
  30.       
  31.          this.setVisible(true);   
  32.           
  33.     }  
  34.   
  35. }  
  36.   
  37. /* 
  38. 运行结果 在下面的Fow1  图片 
  39.    当把fow1 放大时  结果为fow2图片 
  40.  
  41. */  

 

 

BorderLayout:

这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTHSOUTHEASTWESTCENTER。当使用边框布局将一个组件添加到容器中时,要使用这五个常量之一,

Java代码 
  1. import java.awt.BorderLayout;  
  2. import java.awt.Color;  
  3. import java.awt.Container;  
  4. import java.awt.Font;  
  5. import javax.swing.*;  
  6. /** 
  7.  * 定义一个border的布局 
  8.  * @author Administrator 
  9.  * 
  10.  */  
  11. public class border extends JFrame{  
  12.   
  13.     public static void main(String[] args) {  
  14.         border border1 = new border();  
  15.         border1.go();  
  16.     }  
  17.       
  18.     public void go(){  
  19.         //在设置五个按钮  
  20.         JButton east = new JButton("East");  
  21.         JButton west = new JButton("west");  
  22.         JButton north = new JButton("north");  
  23.         JButton south = new JButton("south");  
  24.         JButton center = new JButton("center");  
  25.           
  26.         //将按钮分别添加到五个方向  
  27.         Container c = this.getContentPane();  
  28.         c.add(BorderLayout.EAST,east);  
  29.         Container c1 =this.getContentPane();  
  30.         c1.add(BorderLayout.WEST,west);  
  31.         this.getContentPane().add(BorderLayout.NORTH,north);  
  32.         this.getContentPane().add(BorderLayout.SOUTH,south);  
  33.         this.getContentPane().add(BorderLayout.CENTER,center);  
  34.         //设置字体大小  
  35.         Font bigFont = new Font("serif",Font.BOLD,20);  
  36.         east.setFont(bigFont);  
  37.         Font bigFont1 = new Font("serif",Font.BOLD,20);  
  38.         west.setFont(bigFont1);       
  39.         Font bigFont2 = new Font("serif",Font.BOLD,20);  
  40.         north.setFont(bigFont2);          
  41.         Font bigFont3= new Font("serif",Font.BOLD,20);  
  42.         south.setFont(bigFont3);  
  43.         Font bigFont4 = new Font("serif",Font.BOLD,20);  
  44.         center.setFont(bigFont4);  
  45.           
  46.           
  47.         this.setSize(400,400);  
  48.         this.setDefaultCloseOperation(3);  
  49.           
  50.           
  51.           
  52.         this.setVisible(true);  
  53.     }  
  54. }  

 

BoxLayout:

允许垂直或水平布置多个组件的布局管理器。这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。

 

用水平组件和垂直组件的不同组合嵌套多面板的作用类似于 GridBagLayout,但没那么复杂。该图显示了两个水平排列的面板,每个面板都包含 3 个垂直排列的组件。

BoxLayout 管理器是用 axis 参数构造的,该参数指定了将进行的布局类型。有四个选择:

X_AXIS:从左到右水平布置组件。
Y_AXIS:从上到下垂直布置组件。

 

Java代码 
  1. import java.awt.BorderLayout;  
  2. import java.awt.Color;  
  3. import java.awt.Container;  
  4.   
  5. import javax.swing.*;  
  6.   
  7. public class boxlayout {  
  8.   
  9.     public static void main(String[] args) {  
  10.         // TODO Auto-generated method stub  
  11.         boxlayout layout = new boxlayout();  
  12.         layout.go();  
  13.     }  
  14.       
  15.     public void go(){  
  16.         JFrame frame = new JFrame();  
  17.         JPanel panel = new JPanel();  
  18.         panel.setBackground(Color.RED);  
  19.         //设盒子的布局  
  20.         BoxLayout layout  = new BoxLayout(panel, 0) ;  
  21.         panel.setLayout(layout);  
  22.         //panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));  
  23.           
  24.         JButton button = new JButton("点击");  
  25.         JButton button1 = new JButton("ok");  
  26.         panel.add(button);  
  27.         panel.add(button1);  
  28.           
  29.         //容器初始化,添加组件  
  30.         frame.getContentPane().add(BorderLayout.EAST,panel);  
  31.                 //Contariner c = frame.getContentPane();  
  32.                 //c.add(<span style="font-size: 1em; line-height: 1.5;">BorderLayout.EAST,panel</span><span style="font-size: 1em; line-height: 1.5;">);</span>  
Java代码 
  1.     frame.setSize(300,300);  
  2.     frame.setVisible(true);  
  3. }  

布局与布局之间可以嵌套

FlowLayout,BorderLayout,boxLayout 布局的应用

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
From http://www.java3z.com/cwbwebhome/article/article20/200016.html?id=4797 引言 在用户使用 J
Ext.layout.BorderLayout扩展自Ext.layout.ContainerLayout,其xtype值为border。此布局将容器分为5
Ext.layout.BorderLayout扩展自Ext.layout.ContainerLayout,其xtype值为border。此布局将容器分为5
运用 BoxLayout 进行 Swing 控件布局 引言 在用户使用 Java Swing 进行用户界面开发过程中,会碰到
splittable使得布局组件可以拆分,当值设为true时如图1。 collapsible使得组件可以折叠,当值设为tr
splittable使得布局组件可以拆分,当值设为true时如图1。 collapsible使得组件可以折叠,当值设为tr
今天上午没什么事儿,打开CSDN的BBS,发现有人在问一个关于布局管理器的问题,请看:关于布局的一个
今天上午没什么事儿,打开CSDN的BBS,发现有人在问一个关于布局管理器的问题,请看:关于布局的一个
1:边框布局--BorderLayout Ext.layout.BorderLayout对应面板布局layout配置项的名称为border。该布
1:边框布局--BorderLayout Ext.layout.BorderLayout对应面板布局layout配置项的名称为border。该布
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号