`
百合不是茶
  • 浏览: 356020 次
社区版块
存档分类
最新评论

FlowLayout,BorderLayout,boxLayout 布局的应用

阅读更多

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. }  

布局与布局之间可以嵌套

分享到:
评论

相关推荐

    java FlowLayout布局管理

    2. 将此布局应用到容器: ```java container.setLayout(layout); ``` 3. 添加组件到容器。`FlowLayout`会自动根据规则调整它们的位置。 例如,`FlowLayoutDemo.java`可能包含了创建一个包含多个按钮的简单示例...

    流式布局 FlowLayout

    - 创建工具栏:在开发应用程序时,经常需要创建一个包含多个按钮的工具栏,FlowLayout可以轻松实现这种布局。 - 响应窗口大小变化:当窗口大小改变时,FlowLayout会自动调整组件的位置以适应新的空间。 - 教育类...

    AWT组件提供的6种布局管理器

    AWT(Abstract Window Toolkit)组件提供了六种布局管理器,分别是BorderLayout、FlowLayout、GridLayout、GridBagLayout、CardLayout和BoxLayout。这些布局管理器可以帮助开发者更好地管理组件在窗口中的排列。 1....

    流式布局 flowLayout

    流式布局(FlowLayout)是Java Swing中的一种布局管理器,用于组织组件在容器中的位置。在流式布局中,组件会按照从左到右、从上到下的顺序依次排列,当一行填满后,组件会自动换行。这种布局方式非常适合创建简单的...

    LWUIT布局设置

    本文将深入探讨LWUIT中提供的七种布局管理器,包括边框布局(BorderLayout)、盒布局(BoxLayout)、流布局(FlowLayout)、网格布局(GridLayout)、组布局(GroupLayout)、坐标布局(CoordinateLayout)和表格布局...

    java布局管理器实例

    Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout、GridBagLayout等,每种都有其特定的布局策略。 3. **主要布局管理器及其特点** - **FlowLayout**:从左到右,从上到下依次排列组件,如果一行...

    GUI编程技术-布局管理.doc

    本文档将详细介绍几种常用的布局管理器,包括`BorderLayout`、`FlowLayout`、`CardLayout`、`GridLayout`、`BoxLayout`以及`Null`布局,并通过实例来展示如何使用这些布局管理器。 #### 二、边界布局——...

    理解 Swing 和布局管理程序

    例如,使用FlowLayout创建简单的工具栏,使用BorderLayout组织主窗口的结构,或者使用GridBagLayout创建复杂的自定义布局。 在实际开发中,开发者经常需要结合使用多种布局管理器,甚至在一个容器中嵌套使用不同的...

    jisuanqi.rar_jtextfield

    该计算器模仿Windows自带的计算器,只实现标准型计算器功能。  在完成Swing的学习后,练习使用...熟练使用BorderLayout、FlowLayout、BoxLayout、GridLayout等布局。 能够根据需要覆盖paint函数,定制自己需要的组件。

    (完整word版)Java-swing布局详解(附示例图).doc

    在本文中,我们将详细介绍 Java Swing 中的布局管理器,包括 FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout 和 GridBagLayout。 FlowLayout 是 Java Swing 中最简单的布局管理器。它按照从左到右的...

    qq应用程序,java的gui编程实践

    GUI设计通常涉及到布局管理器,例如BorderLayout、GridLayout、FlowLayout或BoxLayout。这些管理器帮助组织和定位组件,使界面在不同分辨率和屏幕尺寸上看起来整洁。开发者可能根据需要选择了适合QQ应用布局的管理器...

    java学籍管理系统(access)

    (5) FlowLayout BorderLayout GridLayout CardLayout BoxLayout null 3步骤 1) 打开TextPad编程环境; 2) 设计主窗口(JFrame);创建菜单(MenuBar/Menu/MenuItem),并挂到主窗口(使用JFrame.setMenuBar()方法);...

    谈谈Java中的布局管理器.pdf

    Java中的布局管理器可以分为七种:流布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、盒式布局管理器(BoxLayout)、网格袋布局管理器...

    Java代码演示常用窗体控件布局的方法.rar

    5. BoxLayout:盒式布局按照控件的Y轴或X轴进行堆叠,允许创建垂直或水平的线性布局。 在"codesc.net"这个压缩包文件中,很可能包含了使用这些布局管理器的Java源代码示例。通过阅读和运行这些代码,你可以观察到...

    java应用编程实例

    在Java中,`java.awt`包提供了多种布局管理器,包括`FlowLayout`、`BorderLayout`和`GridLayout`等,这些布局管理器可以帮助开发者创建出既专业又易于维护的界面。 #### 二、FlowLayout:流动式布局 `FlowLayout`...

    Java GUI(图形用户界面) 布局管理器

    1. FlowLayout:这是最简单的布局管理器,按照从左到右,从上到下的顺序排列组件,当一行填满后会自动换行。适用于简单的组件排列需求。 2. BorderLayout:它将窗口分为五个区域:北(North)、南(South)、东...

    布局管理器示例代码.rar

    本压缩包"布局管理器示例代码.rar"显然包含了一些关于如何在实际应用中使用布局管理器的示例代码。这里我们将详细讨论布局管理器及其在GUI编程中的作用,以及一些常见的布局管理器类型。 布局管理器是GUI框架如Java...

    布局 API

    在Java Swing中,布局管理器如BorderLayout、FlowLayout、GridLayout和BoxLayout各自有其特点。例如,BorderLayout将组件分为北、南、东、西和中心五个区域,而GridLayout则将组件排列成网格。开发者可以结合使用多...

    Java21Days_Exercises:学习Java的练习

    Java21Days_Exercises 学习了《 21... Swing库: -接口的基本组件, 布局-FlowLayout,BoxLayout,GridLayout,BorderLayout,CardLayout, -事件处理, -Graphics2D类, -Java Web Start(JNLP文件,SwingWorker类)。

    Java_swing布局详解(附示例图).doc

    在实际应用中,通常会根据需求组合使用这些布局管理器,或者自定义布局管理器来实现特定的界面布局。`createAndShowGUI()`方法负责创建并显示GUI,`main()`方法使用SwingUtilities的`invokeLater()`方法确保UI在事件...

Global site tag (gtag.js) - Google Analytics