第一种,简单额只有一层的东南西北中的分区管理就不介绍了,主要介绍第二种

第二种,复杂的borderlayout布局,即在任何区中可以用容器(JPanel)来代替控件

例如下图

这种布局管理的思想是这样子的:

1、可以把组件放在这五个位置的任意一个,如果未指定位置,则缺省的位置是CENTER。

2、在东、西、南、北和中间位置添加中间容器,中间容器中再进行布局,并添加相应的组件,已达到复制补间的效果。

3、南、北位置控件各占据一行,控件宽度将自动布满整行。东、西和中间位置占据一行;若东、西、南、北位置无控件,则中间控件将自动布满整个屏幕。若东、西、南、北位置中无论哪个位置没有控件,则中间位置控件将自动占据没有控件的位置。

4、强调一下container、Jpanel等的布局管理器是不可以共享的!!!每个容器都得有其自己的布局管理器

代码如下:

package hello;import javax.swing.JFrame;
import javax.swing.*;
import java.awt.*;
import java.awt.BorderLayout;public class Lay extends JFrame {/*** */private static final long serialVersionUID = 1L;//这一行必须要写!!!private JButton[] contro=new JButton[9];//创建一个九个控件的控件数组private String[] name={"5","01","02","03","04","1","2","3","4"};private Container container;//创建容器;private BorderLayout layout;//创建一个borderlayout布局控制器private JPanel In=new JPanel();public Lay()//构造函数{super("实例");layout=new BorderLayout();container=getContentPane();container.setLayout(layout);//给定布局方式for(int i=0;i<=8;i++){contro[i]=new JButton(name[i]);//container.add(contro[i]);}//container.add("Center", contro[0]);//中间的区域会空出来container.add("North", contro[1]);container.add("South", contro[2]);container.add("East", contro[3]);container.add("West", contro[4]);In.setLayout(new BorderLayout());//每个容器都用其自己本身的布局管理器//上述代码很重要!!!In.add("North", contro[5]);In.add("Center", contro[0]);In.add("South", contro[6]);In.add("East", contro[7]);In.add("West", contro[8]);container.add("Center",In);//将两个布局进行叠加setVisible(true);setSize(800,600);}public static void main(String[] args) {Lay newpane=new Lay();newpane.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}

Java:对于Borderlayout布局管理的理解相关推荐

  1. Java中BorderLayout布局管理器的两种排列实现方式

    java中Frame类默认的布局管理器为BorderLayout,其主要是将Frame窗口分为东西南北中五个区域,每个区域仅限于放一个组件,如加入多个,前免得会被覆盖,解决方法为:可以在一个区域中加入 ...

  2. JAVA中GridBagLayout布局管理器应用详解

    很多情况下,我们已经不需要通过编写代码来实现一个应用程序的图形界面,而是通过强大的IDE工具通过拖拽辅以简单的事件处理代码即可很轻松的完成.但是我们不得不面对这样操作存在的一些问题,有时候我们希望能够 ...

  3. BorderLayout布局管理器设置3个按钮

    BorderLayout布局管理器设置3个按钮 package p1;import java.awt.BorderLayout; import java.io.BufferedReader; impo ...

  4. 【JAVA】-- Java五大常用布局管理器(BorderLayout、FlowLayout、GridLayout、GridBagLayout、CardLayout)

    在Swing组件中,有JFrame和JDialog这样的顶级容器(也叫窗口),顶级容器不能放置在其他容器中,可完成窗口大小化等基本功能. 也有JPanel这样的面板组件,比较复杂的布局,需要布局管理器 ...

  5. Java Swing的布局管理器

    在Swing的实际开发中,开发人员在添加组件到容器中的时候可以自由调整组件的大小和在容器中的位置,这样虽然很灵活,但操作起来却很麻烦.为了加快开发速度,Java 提供了一些布局管理器,它们可以将组件进 ...

  6. Java编程基础 - 布局管理器

    1. 布局管理器介绍 组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理. java共提供了五种布局管理器:流式布局管 ...

  7. 以下关于java中布局管理说法错误的是_对于 Java 中的布局管理器,以下说法中错误的是( )。_2019复习答案_学小易找答案...

    [单选题]下列哪个酶与丙酮酸生成糖无关? [单选题]宋代( )的产地是当时的福建建安. [单选题]建筑平面图中,外部尺寸一般标注( )尺寸. [单选题]MCS - 51 单片机的 CPU 主要的组成部 ...

  8. java 网格包,求大神解答:JAVA网格包布局管理器小程序问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 为什么我在这个程序上加入了一个Container对象就出问题了,求解答,要如何改: package A; import java.awt.*; impor ...

  9. java 网格包布局管理器_java :网格包布局管理器GridBagConstraints的应用

    代码如下:···(略)publicclassApp12_13extendsJFrame{staticApp12_13frm=newApp12_13();staticJLabeljlab=newJLab ...

  10. java 布局管理器_java布局管理器-borderlayout

    在构造方法中添加代码: 窗口大小 this.setSize(500, 600); 窗口设置borderlayout布局管理器 this.getContentPane().setLayout(new B ...

最新文章

  1. Lr(2)-脚本调试之“集合点” 和 “事务”
  2. 【bzoj4318】OSU! 期望dp
  3. 从零开始学python微课视频版-从零开始学Python(微课视频版)
  4. Java 应用性能调优,可视化工具
  5. 【最新合集】研究生工程伦理课程答案整理
  6. xstream不映射字段_这本XStream学习手册,真的不来看看?
  7. 系统架构设计师 - 软件架构设计 - 特定领域软件架构DSSA(Domain Speciffic Softwore Architecture)
  8. Maven私服(一)
  9. JavaEE Web 开发 链接 mysql 出现 Class.not found的错误
  10. useful websites for constructing your own website
  11. Verilog初级教程(10)Verilog的always块
  12. android 数据永久删除,如何安全地彻底擦除Android
  13. TorchScript的TracedModule和ScriptModule的区别
  14. 控制电缆分布电容产生的原因及电容量计算
  15. pytorch对矩阵(奇异和非奇异)求逆
  16. sm羞耻任务_羞耻驱动的发展
  17. 诗歌二 未知来生相见否,陌上逢却在少年。
  18. 华为无线设备配置WIDS和WIPS
  19. 大数据笔记8—java基础篇4(面向对象-封装-继承-多态)
  20. 医学四大经典著作之一《黄帝内经》

热门文章

  1. SpringBoot 1.快速搭建一个 SpringBoot Maven工程
  2. 从3D Studio Max导入物体 Importing Objects From 3D Studio Max
  3. [wp7游戏]wp7~~竞赛类游戏~~集合贴~~
  4. sql server期中综合练习
  5. vscode-设置tab转空格数4为2
  6. Eclipse启动运行速度调优
  7. JS输出内容为[object Object]
  8. C#正则提取字符串中的数字
  9. Visual Studio附加调试进程时找不到
  10. 经典排序算法(十五)--耐心排序Patience Sorting