绝对布局:
使用步骤:
(1):使用Container.setLayout(null)方法取消布局管理器
(2)使用Component.setBounds()方法设置每个组件的的大小和位置
import java.awt.*;
import javax.swing.*;
public class AbsolutePostion extends JFrame
{
public AbsolutePostion()
{
this.setTitle("本窗体使用绝对布局");
this.setLayout(null);//特别注意在使用之前,告知编译器,这里不再是用布局管理器
this.setBounds(100,100,200,150);//setBounds(int x,int y,int winght,int height)
Container c=getContentPane();//创建容器对象
c.setBackground(Color.red);
JButton b1=new JButton("JButton 1");
JButton b2=new JButton("JButton 2");
b1.setBounds(60,30,100,30);
b2.setBounds(60,70,100,30);
c.add(b1);
c.add(b2);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//退出应用程序,默认关闭
}
public static void main(String args[])
{
new AbsolutePostion();
}
}
//
流布局管理器:
import java.awt.*;
import javax.swing.*;
public class FlowLayoutPosition extends JFrame
{
public FlowLayoutPosition()
{
setTitle("本窗体使用流布局管理器");
//setBounds(100,100,200,300);
Container c=getContentPane();
setLayout(new FlowLayout(1,10,10));//设置窗体使用流布局管理器,居中,且设置组//件之间的水平间隔和垂直间隔
for(int i=0;i<10;i++)
{
c.add(new JButton("button"+i));
}
setSize(300,300);
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main(String args[])
{
new FlowLayoutPosition();
}
}
网络布局
import java.awt.*;
import javax.swing.*;
public class GridLayouPosition extends JFrame
{
public GridLayouPosition()
{
this.setTitle("网络布局管理器");
Container c=getContentPane();
setLayout(new GridLayout(7,3,5,5));//7行,3列,水平间隔5,垂直间隔5
for(int i=0;i<20;i++)
{
c.add(new JButton("button"+i));
}
setSize(300,300);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String args[])
{
new GridLayouPosition();
}
}
边界布局管理器://本程序有错
import java.awt.*;
import javax.swing.*;
public class BorderLayoutPosition extends JFrame
{
String[] border={BorderLayout.CENTER,BorderLayout.NORTH,BorderLayout.SOUTH,BorderLayout.WEST,BorderLayout.EAST};
String[] buttonName={"center button","east button","south button","west button","north button"};
public BorderLayoutPosition()
{
setTitle("这是窗体使用边界布局管理器");
Container c=getContentPane();
this.setLayout(new BorderLayout());
for(int i=0;i<border.length;i++)
{
c.add(border[i],new JButton(buttonName[i]));
}
setSize(350,200);
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main(String args[])
{
new BorderLayoutPosition();
}
}