十七、java-GUI之边界布局(BorderLayout)

来源:互联网 发布:mdzz什么意思网络用语 编辑:程序博客网 时间:2024/04/30 03:39

BorderLayout(边界布局)

1、BorderLayout布局特征

边界布局把容器分为五个位置:

上北(NORTH)下南(SOUTH)左西(WEST)右东(EAST)中(CENTER)

特征:

可以把组件放在这五个位置的任意一个,位置默认为CENTER。

南、北位置控件占一行,控件宽度自适应整行。

左中右 共同占一行;

东、西、南、北中某个位置没控件,中间控件自动占据该位置。

(即:只要某个位置没控件,调皮的center就侵占了那个位置)

所以如果只有center有控件,则中间控件将自动布满整个屏幕。

 

2、边界布局BorderLayout类的常用构造函数和方法

构造方法摘要

BorderLayout()

 构造一个新边框布局 (默认间距0px)

BorderLayout(int hgap, int vgap)

 构造一个指定间距的边框布局(hgap,vgap)

方法摘要

int getHgap()

返回组件之间的水平间距。

int getVgap()

返回组件之间的垂直间距。

void removeLayoutComponent

(Component comp)

 从此边框布局中移除指定组件。

void setHgap(int hgap)

设置组件之间的水平间距。

void setVgap(int vgap)

设置组件之间的垂直间距。

 

3、边界布局实例:

实例://BorderLayoutDemo.Java

package borderlayoutdemo;

import javax.swing.*;

import java.awt.*;

 

public class BorderLayoutDemo extends JFrame {

  public BorderLayoutDemo(){                //构造函数,初始化对象值

     setLayout(new BorderLayout(5,5));  //设置为边界布局,组件间横向、纵向间距均为5像素

     setFont(new Font("Helvetica",Font.PLAIN, 14));             //设置字体

     

//   getContentPane().add("Center",newJButton("Center"));   //把中间的按钮改成下面的形式呈现

     JPanel p=new JPanel();                     //新建一个面板

     p.setLayout(new FlowLayout(1,5,5));//设置这个面板的布局为流式布局

     for(int i=1;i<10;i++){                           //批量添加按钮

         //String.valueOf(i)可将数字转换为字符串

         JButton b=newJButton(String.valueOf(i)); //在循环内不断新建按钮,按钮显示为i值转换后的字符串

         p.add(b);           //将按钮添加到面板中,代码操作过程为,生成一个加入一个,反复操作

     }

     getContentPane().add("North",new JButton("North"));    //将按钮添加到窗口中 -- 上北

     getContentPane().add("South",new JButton("South"));  //-- 下南

    getContentPane().add("West", new JButton("West"));   //-- 左西

     getContentPane().add("East", new JButton("East"));     //-- 右东

     getContentPane().add("Center",p); //P面板作为中间部分的组件添加到容器

  }

  public static void main(String args[]) {

     BorderLayoutDemo bl = newBorderLayoutDemo();

       bl.setTitle("这是边界布局");         //jf标题

       bl.pack();                                     //自适应大小

       bl.setLocationRelativeTo(null);   //让窗体居中显示

       bl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //设置默认关闭操作

       bl.setVisible(true);    //设置可见

    }

  }

0 0
原创粉丝点击