当前位置: 首页 > 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.gsyq.cn/news/1481948.html

相关文章:

  • 别再只盯着传统摄像头了:事件相机在无人机避障和电力线巡检中的实战优势解析
  • DGL实战入门:用空手道俱乐部数据跑通GCN和GAT节点分类全流程
  • 抖音视频批量下载难题:如何轻松保存无水印内容?
  • 调查研究-161 OpenAI AI 设备揭秘:这不是手机,而是下一代入口实验
  • 面试官问:什么是 Harness 工程?AI Agent 时代,测试人必须补上的新能力
  • PPT转图片终极指南:5分钟快速掌握PPT2Image完整教程
  • 索尼相机隐藏功能终极解锁指南:如何免费突破30分钟录制限制
  • 贵州品质旅行社排名:口碑好的定制小包团指南 - 资讯纵览
  • 主标题:新能源培训热门!三电培训落地辅导[地域]企业 备选标题:新能源领域聚焦!三电培训落地辅导[地域]专家企业 - 资讯纵览
  • Java Lambda方法引用的三类傻瓜式对比
  • QLExpress4:颠覆性企业级规则引擎的架构演进与工程实践
  • RocketMQ 4.9.5 集群搭建
  • ULN2803驱动大尺寸数码管:从OC输出原理到动态扫描实战
  • 西服定制店铺实测排行 品质工艺客观对比 - 奔跑123
  • Java Lambda方法引用的三类核心类型、转化逻辑与深度对比
  • Tianshou强化学习库架构革新:资源受限环境下的高性能部署技术深度解析
  • 杭州未来科技城广州菜餐厅实测排行:鲜度与风味对决 - 奔跑123
  • 5分钟搭建抖音直播弹幕监控系统:Go语言实现全解析
  • 3个核心问题,NcmpGui如何让你的网易云音乐重获自由?
  • 2026年企业与个人AI编程工具综合榜单
  • Protel DXP Gerber文件生成全攻略:从原理到实战避坑指南
  • OpenSpeedy终极指南:免费开源游戏加速工具完全解析
  • FFXIV BossMod终极指南:如何用智能辅助插件轻松通关高难副本
  • 5分钟快速上手:HS2-HF_Patch完整汉化去码优化终极指南
  • CSDN AI数字营销企业版报价不是“问出来”的——而是靠这6项技术尽调材料+1份ROI测算模型“换来的”,附20年甲方数字化采购老炮整理的《报价谈判攻防手册》
  • 权限管理的艺术:我们如何用FastAPI+Vue3重构RBAC的现代实现
  • 寄多个包裹怎么寄最划算?比价省钱攻略 - 快递物流资讯
  • 国内主流西装定制品牌排行:适配多元场景需求 - 奔跑123
  • 144.Ubuntu22.04专属刷机工具链|edl/mtkclient/libimobiledevice环境一键部署
  • 终极指南:3分钟掌握Balena Etcher,安全烧录系统镜像不再难