GUI编程

来源:互联网 发布:js修改微信分享的内容 编辑:程序博客网 时间:2024/06/08 12:03

1:布局管理器 5个基本的布局管理器是FlowLayout、GridLayout、BorderLayout、GardLayout和GridBagLayout。这些类执行LayoutManager界面。


(1) FlowLayout 是最简单的布局管理器。组件在容器中按照添加的次序由左至右排列。一行排满之后,重新开始新行。FlowLayout有3个构造函数,

public FlowLayout(int align, int hGap, int vGap) 以指定的排列、水平间距和垂直间距构造一个新的FlowLayout。间距是组件之间的像素距离。

public FlowLayout(int alignment) 以指定的排列和默认的5像素水平间距及5像素垂直间距构造一个新的FlowLayout。

public FlowLayout() 以默认的居中排列和默认的5像素水平间距及5像素垂直间距构造一个新的FlowLayout。

例子:

public class ShowFlowLayout extends JFrame{

public ShowFlowLayout(){

Container container = getContentPane();

container.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 20));

for(int i = 1; i <= 10; i++){
container.add(new JButton("Component " + i));
}

}

}


(2)GridLayout管理器按照构造函数定义的行数和列数以网格(矩阵)格式排列组件,组件在网格中由左及右,从第一行开始,然后是第二行,等等以此类推,按照组件添加的次序放置。GridLayout管理器有3个构造函数。

public GridLayout(int rows, int columns, int vGap) 以指定的行数和列数,以及容器中组件之间指定的水平和垂直间距构成新的GridLayout。

public GridLayout ( int rows, int columns )  以指定的行数和列数构造新的GridLayout。水平和垂直间距为0.

public GridLayout()在一行的一列上构造新的GridLayout。

例子:

package layout;


import java.awt.Container;
import java.awt.GridLayout;


import javax.swing.JFrame;
import javax.swing.JButton;


public class ShowGridLayout extends JFrame{


public ShowGridLayout(){
Container container = getContentPane();
container.setLayout(new GridLayout(4, 3, 5, 5));

for(int i = 1; i <= 10; i++){
container.add(new JButton("Component" + i));
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ShowGridLayout frame = new ShowGridLayout();
frame.setTitle("Show GridLayout");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setSize(400, 400);
}


}



(3)BorderLayout 管理器将窗口划分为5个区域:东、南、西、北和中间。通过使用add(Component,index)将组件添加到BorderLayout,这里index是固定的BorderLayout.EAST、BorderLayout.SOUTH、BorderLayout.WEST、BorderLayout.NOETH或BorderLayout.CENTER。BorderLayout的构造函数:

public BorderLayout(int hGap, int vGap) 以组件之间指定的水平和垂直间距构造新的BorderLayout。

public BorderLayout() 构造没有水平和垂直间距的新的BorderLayout。


0 0
原创粉丝点击