GUI布局JAVA

1、边界布局(BorderLayout),默认布局
        this.add(an1,BorderLayout.EAST); //括号中的参数都是固定的,顺序不能改变
        this.add(an2,BorderLayout.WEST); //前面是对象,后面是布局管理器
        this.add(an3,BorderLayout.SOUTH);
        this.add(an4,BorderLayout.NORTH);
        this.add(an5,BorderLayout.CENTER);
2、流式布局(FlowLayout)
    非默认,在使用前先设置布局方式
    setLayout(new FlowLayout());居中对齐
    setLayout(new FlowLayout(FlowLayout.LEFT));  左对齐
    setLayout(new FlowLayout(FlowLayout.RIGHT)); 右对齐
3、网格布局(GridLayout)
    非默认,在使用前先设置布局方式
    setLayout(new GridLayout(a,b,c,d));
    a:行数
    b:列数
    c:网格水平间距
    d:网格垂直间距

各种窗体常用组件
  1、按钮 JButton
  2、面板 JPanel
  3、标签 JLabel
  4、文本框 JTextField
  5、密码框 JPasswordField
  6、单选按钮 JRadioButton
  7、复选框 JCheckBox
  8、按钮组 ButtonGroup  把单选按钮添加进按钮组,使其只能选择一个。
 

我来展示一下各布局,边界布局

public class Gui extends JFrame{
	JButton an1,an2,an3,an4,an5;    //东西南北中一共5个按钮所以定义5个按钮,定义按钮或者
	                                //其他一定是在自定义方法的前面
    Gui(){                           
             an1 =new JButton("东");//前面定义了按钮这里新建按钮属性,括号里面是按钮显示的东西
				an2 =new JButton("西");
				an3 =new JButton("南");
				an4 =new JButton("北");
				an5 =new JButton("中");
				this.add(an1,BorderLayout.EAST);  //没有设置布局默认为边界边界布局
				this.add(an2,BorderLayout.WEST);  //边界布局是分为东西南北中,如果
				this.add(an3,BorderLayout.SOUTH); //没有设定东西南北就全部在中间
				this.add(an4,BorderLayout.NORTH);  //这些都是设置按钮的位置,这行就是按钮4在南
				this.add(an5,BorderLayout.CENTER);  //EAST为东WEST为西SOUTH为南NORTH为北
		
				this.setTitle("标题");
				this.setVisible(true);
				this.setSize(300,200);
				this.setLocation(300,400);
				this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				this.setResizable(false);
			}
	public static void main(String[] args) {
		Gui dx=new Gui();	
	}
 
}

运行结果:

 流式布局展示如下:

import java.awt.*;
import javax.swing.*;

public class GUI extends JFrame{
	JButton an,an1,an2,an3,an4;
	GUI(){
				an =new JButton("东");//按钮
				an1 =new JButton("西");
				an2 =new JButton("南");
				an3 =new JButton("北");
				an4 =new JButton("中");
				this.setLayout(new FlowLayout());//流式布局
				this.add(an);
				this.add(an1);
				this.add(an2);
				this.add(an3);
				this.add(an4);
				this.setTitle("标题");
				this.setVisible(true);
				this.setSize(300,200);
				this.setLocation(300,400);
				this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				this.setResizable(false);
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		GUI DX=new GUI();
		
	}

}

运行结果:

 网格布局展示如下:

import java.awt.*;
import javax.swing.*;
public class GUI extends JFrame{
	JButton an,an1,an2,an3,an4;
	GUI(){
				an =new JButton("东");//按钮
				an1 =new JButton("西");
				an2 =new JButton("南");
				an3 =new JButton("北");
				an4 =new JButton("中");
				this.setLayout(new GridLayout(2,3,60,90));//3行2列,宽60,高90,网格
				this.add(an);
				this.add(an1);
				this.add(an2);
				this.add(an3);
				this.add(an4);
				this.setTitle("标题");
				this.setVisible(true);
				this.setSize(300,200);
				this.setLocation(300,400);
				this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				this.setResizable(false);
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		GUI DX=new GUI();
	}

}

运行结果:

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值