100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java窗口布局_Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局

java窗口布局_Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局

时间:2021-06-16 10:36:26

相关推荐

java窗口布局_Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局

流布局:

FlowLayout构造方法:

FlowLayout()

构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个单位。

FlowLayout(int align)

构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个单位。

FlowLayout(int align, int hgap, int vgap)

创建一个新的流布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。

注意:

align=0:表示每一行组件将按照左对齐排列

align=1:表示每一行组件将按照居中对齐排列

align=2:表示每一行组件将按照右对齐排列

代码:

package jframe;

import java.awt.Button;

import java.awt.Container;

import java.awt.FlowLayout;

import javax.swing.*;

public class jframe extends JFrame{

/**

*

*/

private static final long serialVersionUID = 1L;

public jframe(){

new JFrame("title");

Container con = getContentPane();

setLayout(new FlowLayout(0,10,10)); //按照左对齐排列垂直水平间隔为10

for (int i=0;i<10;i++){

add(new JButton("Button"+i)); //添加组件

}

this.setVisible(true); //设置窗体可见

this.setSize(300, 300); //设置窗体大小

}

public static void main(String[] args) {

jframe a = new jframe();

}

}

如果改变窗体的大小其中组件的位置也会跟着改变

边界布局:

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

代码演示:

package jframe;

import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Container;

import java.awt.FlowLayout;

import javax.swing.*;

public class jframe extends JFrame{

/**

*

*/

private static final long serialVersionUID = 1L;

String border [] = {BorderLayout.NORTH,BorderLayout.SOUTH,BorderLayout.WEST,

BorderLayout.EAST,BorderLayout.CENTER};

String borderName [] = {"North","South","West","East","Center"};

public jframe(){

this.setTitle("test");

Container con = this.getContentPane();

this.setLayout(new BorderLayout()); //设置容器为边界布局管理器

for (int i=0;i<5;i++){

con.add(border[i],new JButton(borderName[i])); ///循环添加按钮,并设置按钮布局

}

this.setVisible(true);

this.setBounds(50, 50, 500, 300);

}

public static void main(String[] args) {

new jframe();

}

}

网格布局

GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。

构造方法摘要

GridLayout()

创建具有默认值的网格布局,即每个组件占据一行一列。

GridLayout(int rows, int cols)

创建具有指定行数和列数的网格布局。

GridLayout(int rows, int cols, int hgap, int vgap)

创建具有指定行数和列数的网格布局(hgap指定网格之间的水平间距,vgap指定网格之间垂直间距)。

代码演示:

package jframe;

import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import javax.swing.*;

public class jframe extends JFrame{

/**

*

*/

private static final long serialVersionUID = 1L;

public jframe(){

this.setTitle("test");

Container con = this.getContentPane();

this.setLayout(new GridLayout(7,3,5,5)); //设置7行3列垂直水平间隔为5

for (int i=0;i<20;i++){

con.add(new JButton("Button"+i)); //20个按钮

}

this.setVisible(true);

this.setBounds(50, 50, 300, 500);

}

public static void main(String[] args) {

new jframe();

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。