窗体、对话框默认边界布局管理器

24 篇文章 0 订阅

JFrame、JDialog默认布局管理器

  • 窗体(对话框)的默认布局管理器为边界布局管理器
  • 向其中添加组件时,如没有指定位置,则会占满整个窗体(对话框)
  • 也可以设置布局:setLayout(null):这种情况下,需要手动设置各个组件的位置

Demo01–手动设置组件位置

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

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默认布局窗体");
        jFrame.setLayout(null);
        JButton jButton1 = new JButton("button1");
        JButton jButton2 = new JButton("button2");
        jButton1.setBounds(10,10,100,20);
        jButton2.setBounds(10,40,100,20);
        jFrame.add(jButton1);
        jFrame.add(jButton2);
        //设置窗体背景色
        jFrame.setBackground(Color.CYAN);
        //设置窗体大小
        jFrame.setSize(400,400);
        //设置窗体可见
        jFrame.setVisible(true);
        //设置窗体关闭方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo01运行结果如下
在这里插入图片描述
Demo02–使用默认布局

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

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默认布局窗体");
        JButton jButton1 = new JButton("button1");
        jFrame.add(jButton1);
        //设置窗体背景色
        jFrame.setBackground(Color.CYAN);
        //设置窗体大小
        jFrame.setSize(400,400);
        //设置窗体可见
        jFrame.setVisible(true);
        //设置窗体关闭方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo02运行结果如下
在这里插入图片描述
Demo03–使用BorderLayout设置组件位置

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

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默认布局窗体");
//        jFrame.setLayout(null);
        JButton jButton1 = new JButton("button1");
        JButton jButton2 = new JButton("button2");
        //设置组件的位置
        jFrame.add(jButton1,BorderLayout.NORTH);
        jFrame.add(jButton2,BorderLayout.CENTER);
        jFrame.add(BorderLayout.SOUTH,new JButton("button3"));
        //设置窗体背景色
        jFrame.setBackground(Color.CYAN);
        //设置窗体大小
        jFrame.setSize(400,400);
        //设置窗体可见
        jFrame.setVisible(true);
        //设置窗体关闭方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo03运行结果如下

  • 左边和右边区域默认被其它组件填充

在这里插入图片描述
注意

  • 使用JFrame对象直接调用add()方法添加组件和使用getContentPane()获取一个Container对象来添加组件结果是一样的,Java1.5以后,两种操作方式都是调用同一个add方法
  • add方法如下所示
  public void add(Component comp, Object constraints) {
        addImpl(comp, constraints, -1);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值