java Swing 之 Layout
1、 null (空 Layout) : 界面的控件可以随便放置。
2、 BorderLayout: 界面控件可以放置在5个地方。分别是:上北、下南、左西、右东、中间
控件的位置由容器 contentPane.add 时指定。如:
contentPane.add(new JButton("EAST"),BorderLayout.EAST);
3、 GridLayout: 把容量划分成 row 行 col 列的网格。增加控件时,按顺序加入。
创建方法: new GridLayout(2,2); // 两行两列
4、 FlowLayout:按横行排,一行排满再排第二行,所有行居中。
5、 Cardlayout: 以卡片方面显示,如 PageControl 那样。每次显示是个 Page
如:
// 加入 Card
p4.setLayout(new CardLayout());
p4.add("one",p2);
p4.add("two",p3);
// 显示 Card
((CardLayout)p4.getLayout()).show(p4,"one");
---------------------------
以下转贴:
Java中常用的布局管理器有:
FlowLayout
GridLayout
BorderLayout
CardLayout
GridBagLayout
BoxLayout
其中,FlowLayout是流布局管理器,也是Applet的缺省管理器,它是一个接着一个的放置控件,当该布局管理器到达此applet的右边界时, 她就开始在下一行放置控件。在缺省状态下, FlowLayout管理器使控件对准每一行的中心。
其具有的构造符:
FlowLayout()
创建一个流布局管理器,以中心对齐并在组件之间以缺省的5像素的水平与垂直间隔。
FlowLayout(int align)
创建一个流布局管理器,以所指的对齐方式并以缺省的5像素的水平与垂直间隔。
比如:FlowLayout(FlowLayout.LEFT)、FlowLayout(FlowLayout.RIGHT)、FlowLayout(FlowLayout.CENTER)
例子:
import javax.swing.*;
import java.awt.*;
public class SampleFlowLayout extends JApplet
{
JButton b1,b2,b3;
JPanel panel;
FlowLayout fl;
public void init()
{
fl = new FlowLayout(FlowLayout.LEFT);
panel = new JPanel();
getContentPane().add(panel);
panel.setLayout(fl);
b1 = new JButton("B1";
b2 = new JButton("B2";
b3 = new JButton("B3";
panel.add(b1);
panel.add(b2);
panel.add(b3);
}
}
GirdLayout
网格布局管理器,把每个组件放在每个格子,从左到右,自顶向下。
具有的构造符:
GridLayout(int rows,int cols)
创建一个指定行数和列数得网格布局。
GridLayout(int rows,int cols,int hgap,int vgap)
创建一个指定行数、列数、水平与垂直间隔的网格布局。
BordLayout
边界布局管理器,把组件安东、西、南、北、中的方向放置。
具有的构造符:
BordLayout()
创建边界布局
BordLayout(int hgap,int vgap)
创建一个指定组件之间的水平与垂直间隔的边界布局
例子基本上一样,稍微修改一下就可以啦。
1、 null (空 Layout) : 界面的控件可以随便放置。
2、 BorderLayout: 界面控件可以放置在5个地方。分别是:上北、下南、左西、右东、中间
控件的位置由容器 contentPane.add 时指定。如:
contentPane.add(new JButton("EAST"),BorderLayout.EAST);
3、 GridLayout: 把容量划分成 row 行 col 列的网格。增加控件时,按顺序加入。
创建方法: new GridLayout(2,2); // 两行两列
4、 FlowLayout:按横行排,一行排满再排第二行,所有行居中。
5、 Cardlayout: 以卡片方面显示,如 PageControl 那样。每次显示是个 Page
如:
// 加入 Card
p4.setLayout(new CardLayout());
p4.add("one",p2);
p4.add("two",p3);
// 显示 Card
((CardLayout)p4.getLayout()).show(p4,"one");
---------------------------
以下转贴:
Java中常用的布局管理器有:
FlowLayout
GridLayout
BorderLayout
CardLayout
GridBagLayout
BoxLayout
其中,FlowLayout是流布局管理器,也是Applet的缺省管理器,它是一个接着一个的放置控件,当该布局管理器到达此applet的右边界时, 她就开始在下一行放置控件。在缺省状态下, FlowLayout管理器使控件对准每一行的中心。
其具有的构造符:
FlowLayout()
创建一个流布局管理器,以中心对齐并在组件之间以缺省的5像素的水平与垂直间隔。
FlowLayout(int align)
创建一个流布局管理器,以所指的对齐方式并以缺省的5像素的水平与垂直间隔。
比如:FlowLayout(FlowLayout.LEFT)、FlowLayout(FlowLayout.RIGHT)、FlowLayout(FlowLayout.CENTER)
例子:
import javax.swing.*;
import java.awt.*;
public class SampleFlowLayout extends JApplet
{
JButton b1,b2,b3;
JPanel panel;
FlowLayout fl;
public void init()
{
fl = new FlowLayout(FlowLayout.LEFT);
panel = new JPanel();
getContentPane().add(panel);
panel.setLayout(fl);
b1 = new JButton("B1";
b2 = new JButton("B2";
b3 = new JButton("B3";
panel.add(b1);
panel.add(b2);
panel.add(b3);
}
}
GirdLayout
网格布局管理器,把每个组件放在每个格子,从左到右,自顶向下。
具有的构造符:
GridLayout(int rows,int cols)
创建一个指定行数和列数得网格布局。
GridLayout(int rows,int cols,int hgap,int vgap)
创建一个指定行数、列数、水平与垂直间隔的网格布局。
BordLayout
边界布局管理器,把组件安东、西、南、北、中的方向放置。
具有的构造符:
BordLayout()
创建边界布局
BordLayout(int hgap,int vgap)
创建一个指定组件之间的水平与垂直间隔的边界布局
例子基本上一样,稍微修改一下就可以啦。