当前位置: 首页 > news >正文

学习JAVA第7周

学习JAVA

写窗口

窗口及按钮布局

1️⃣.空布局

空布局特点:容器不会自动排列控件,所有控件的坐标、宽高必须手动指定。

窗口开启空布局:

setLayout(null);

写法

1.setBounds (x, y, width, height)(首选,经典)

JButton btn = new JButton("删除用户");
// x=40, y=240, 宽=140, 高=32
btn.setBounds(40, 240, 140, 32);
add(btn);

2.setLocation (x,y) + setSize (w,h)(拆分)

JButton btn = new JButton("删除用户");
btn.setLocation(40, 240);  // 只设坐标
btn.setSize(140, 32);       // 只设宽高
add(btn);

3.先 new Dimension,再赋值
把尺寸单独封装,适合多个控件统一大小

import java.awt.Dimension;JButton btn = new JButton("删除用户");
btn.setLocation(40, 240);
// 定义尺寸对象
Dimension size = new Dimension(140, 32);
btn.setSize(size);
add(btn);

2️⃣.FlowLayout 流式布局(默认布局)
特点
控件从左到右依次排列,一行排不下自动换行
可设置对齐方式、控件间距
不会拉伸控件,控件保持自身默认大小

import java.awt.FlowLayout;// 1. 默认:居中对齐,默认间距
setLayout(new FlowLayout());// 2. 指定对齐:FlowLayout.LEFT 左对齐 / CENTER 居中 / RIGHT 右对齐
setLayout(new FlowLayout(FlowLayout.LEFT));// 3. 对齐 + 水平间距 + 垂直间距
setLayout(new FlowLayout(FlowLayout.CENTER, 20, 10));// 添加按钮,自动横向排列
JButton btn1 = new JButton("新增");
JButton btn2 = new JButton("查询");
JButton btn3 = new JButton("删除");
add(btn1);
add(btn2);
add(btn3);

适用:按钮组、简单工具栏、少量控件横向摆放。

3️⃣BorderLayout 边界布局(大窗口常用)
特点
把窗口分成 5 个区域:
NORTH(北/顶部)、SOUTH(南/底部)、WEST(西/左侧)、EAST(东/右侧)、CENTER(中间)
区域内控件会自动填满整个区域
每个区域只能放一个控件(想放多个就先套面板)

import java.awt.BorderLayout;setLayout(new BorderLayout());add(new JButton("顶部按钮"), BorderLayout.NORTH);
add(new JButton("底部按钮"), BorderLayout.SOUTH);
add(new JButton("左侧按钮"), BorderLayout.WEST);
add(new JButton("右侧按钮"), BorderLayout.EAST);
add(new JButton("中间区域"), BorderLayout.CENTER);// 简写:只写控件,默认放在 CENTER
add(new JButton("默认中间"));

适用:主窗口、顶部菜单栏、底部状态栏、中间内容区,Java 窗体最经典布局。

4️⃣.GridLayout 网格布局
特点
把窗口切成 行列网格,所有格子大小完全相等
控件自动填满格子,强制拉伸统一尺寸
按从上到下、从左到右顺序放入格子

import java.awt.GridLayout;// 参数:行数, 列数
setLayout(new GridLayout(2, 3)); // 2行3列add(new JButton("1"));
add(new JButton("2"));
add(new JButton("3"));
add(new JButton("4"));
add(new JButton("5"));
add(new JButton("6"));// 带间距:行数,列数,水平间距,垂直间距
setLayout(new GridLayout(2, 3, 10, 10));

适用:计算器、登录页(账号 + 密码两行)、整齐排列的按钮矩阵。

http://www.jsqmd.com/news/970220/

相关文章:

  • 调查研究-161 OpenAI AI 设备揭秘:这不是手机,而是下一代入口实验
  • Windows直读Btrfs分区终极指南:跨平台文件互通实战解决方案
  • 面试官问:什么是 Harness 工程?AI Agent 时代,测试人必须补上的新能力
  • OBS多平台直播插件:一次编码,全网同步直播的终极解决方案
  • YOLOv12涨点改进| TGRS 2026 |独家卷积改进篇| 引入FSBlock频率-空间模块,利用空间分支和频率分支同时捕获局部空间细节和全局频率信息,助力红外小目标检测任务有效涨点
  • 从工商登记到AI平台认证:一张营业执照的数字身份裂变路径(独家披露CSDN后台“主体关联度算法”权重参数)
  • 索尼相机隐藏功能终极解锁指南:如何免费突破30分钟录制限制
  • PPT转图片终极指南:5分钟快速掌握PPT2Image完整教程
  • 点云数据处理避坑指南:用CloudCompare标注语义标签后,如何正确保存为PLY格式?
  • 贵州品质旅行社排名:口碑好的定制小包团指南 - 资讯纵览
  • C++11核心特性(一):const语义和类型推导
  • 运算放大器实战:从基础原理到高频应用与精密设计
  • 哇塞!原来论文还能这样搞定?2026降AIGC平台推荐合集 - 降AI小能手
  • Argon主题:打造优雅高效的WordPress博客完整指南
  • 主标题:新能源培训热门!三电培训落地辅导[地域]企业 备选标题:新能源领域聚焦!三电培训落地辅导[地域]专家企业 - 资讯纵览
  • OpenCamera:重新定义Android摄影的专业与自由
  • Java Lambda方法引用的三类傻瓜式对比
  • QLExpress4:颠覆性企业级规则引擎的架构演进与工程实践
  • RocketMQ 4.9.5 集群搭建
  • ULN2803驱动大尺寸数码管:从OC输出原理到动态扫描实战
  • GPU显存稳定性终极测试指南:5分钟发现隐藏的硬件故障
  • C++11核心特性(二):constexpr
  • 小户型专用学习桌,这些品牌专为空间定制 - 资讯纵览
  • Java Lambda方法引用的三类核心类型、转化逻辑与深度对比
  • 西服定制店铺实测排行 品质工艺客观对比 - 奔跑123
  • Postgresql TPC-H OLAP测试全流程
  • 广东家庭教育指导师怎么报名?中山优才教育正规授权机构报名指南(附联系方式) - 当下教育培训干货
  • Vivado 18.3 安装避坑指南:从下载到配置MATLAB,手把手解决Zynq开发环境搭建难题
  • 2026年6月做得好的粉末冶金模具厂商推荐,气流磨/扁平式汽粉机/冲压模具/合金模具,粉末冶金模具加工厂哪家专业 - 品牌推荐师
  • 5分钟搭建抖音直播弹幕监控系统:Go语言实现全解析