4种常用布局管理器的实现代码

 

绝对布局:
使用步骤:
(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();
       }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值