swing快速入门(五)

注释很详细,直接上代码

上一篇

本篇新增内容:

1.布局管理器BorderLayout

2.自适应尺寸方法pack()

import java.awt.*;
public class swing_test_3 {public static void main(String[] args) {Frame frame=new Frame("演示BorderLayout");//给frame设置Borderlayout布局管理器//水平间距:30;//垂直间距:10frame.setLayout(new BorderLayout(30,10));//往frame的五个方位的指定区添加组件frame.add(new Button("北侧按钮"),BorderLayout.NORTH);frame.add(new Button("南侧按钮"),BorderLayout.SOUTH);frame.add(new Button("东侧按钮"),BorderLayout.EAST);frame.add(new Button("西侧按钮"),BorderLayout.WEST);frame.add(new Button("中间按钮"),BorderLayout.CENTER);//pack()方法用于根据容器中的组件大小来调整窗口的大小//调用pack()方法后,窗口的大小将根据其中的组件自动调整,以确保所有组件都能得到合适的显示,并以最佳方式利用可用的空间frame.pack();//设置可见frame.setVisible(true);}
}

效果图:

在这里插入图片描述
细节小知识

如果某个区域没有设置内容则这个区域会被添加的其他组件占用

如果同一个区域添加了多个组件,那么只会显示最后添加的内容

可以用容器的方法将多个组件显示在同一个区域

import java.awt.*;
public class swing_test_3 {public static void main(String[] args) {Frame frame=new Frame("演示BorderLayout");//给frame设置Borderlayout布局管理器(边界分布)//水平间距:30;//垂直间距:10frame.setLayout(new BorderLayout(30,10));//给 Panel容器设置流式分布Panel p_1=new Panel(new FlowLayout());//往 Panel容器添加俩组件p_1.add(new Button("按钮"));p_1.add(new TextField("文本"));//往frame的五个方位的指定区添加组件frame.add(new Button("哈哈哈"),BorderLayout.NORTH);frame.add(new Button("南侧按钮"),BorderLayout.SOUTH);frame.add(new Button("东侧按钮"),BorderLayout.EAST);frame.add(new Button("西侧按钮"),BorderLayout.WEST);//将 Panel容器放在中间//边界分布默认中间frame.add(p_1,BorderLayout.CENTER);//pack()方法用于根据容器中的组件大小来调整窗口的大小//调用pack()方法后,窗口的大小将根据其中的组件自动调整,以确保所有组件都能得到合适的显示,并以最佳方式利用可用的空间frame.pack();//设置可见frame.setVisible(true);}
}

效果图:
在这里插入图片描述
下一篇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/215351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十六届山东省职业院校技能大赛高职组“应用软件系统开发”赛项样题

第十六届山东省职业院校技能大赛 高职组“应用软件系统开发”赛项样题 目录 一.竞赛须知 二.竞赛任务标题二 模块一:系统需求分析(25分) 模块二:软件系统开发(55分) 模块三&am…

【APP安卓测试工具】adb(Android Debug Bridge)

1.常见的命令 列出已连接的设备 adb device安装 adb install <APK文件路径>卸载 adb uninstall <APK文件路径>启动和停止 adb shell am start -n <包名>[/<Activity>]adb shell am force -stop <包名>截屏和录屏 adb shell screencap <文件路…

cordic 算法学习记录

参考&#xff1a;b站教学视频FPGA&#xff1a;Cordic算法介绍与实现_哔哩哔哩_bilibili FPGA硬件实现加减法、移位等操作比较简单&#xff0c;但是实现乘除以及函数计算复杂度高且占用资源多&#xff0c;常见的计算三角函数/平方根的求解方式有①查找表&#xff1a;先把函数对应…

JVM面试连环炮:你准备好迎接挑战了吗?

在Java开发领域&#xff0c;JVM面试一直是一个热门话题。作为一名优秀的开发者&#xff0c;你是否已经准备好迎接这场挑战了呢&#xff1f;今天&#xff0c;我们就来深度解析一下JVM面试的热点问题&#xff0c;帮助你更好地应对面试&#xff0c;一举拿下offer&#xff01; 1、…

Python 使用sphinx生成API文档

目录 前言: 项目层级 Python项目docstring规范 Example Google Style Python Docstrings Example NumPy Style Python Docstrings reStructuredText Style 设置代码docstrings风格(pycharm) 安装sphinx 创建sphinx文档项目 配置conf.py文件 编译代码为api文档 编译…

vim + ctags 跳转, 查看函数定义

yum install ctags Package ctags-5.8-13.el7.x86_64 already installed and latest version 创建 /home/mzh/pptp-master/tags.sh #!/usr/bin/shWORKDIR/home/mzh/pptp-masterfind ${WORKDIR} -name "*.[c|h]" | xargs ctags -f ${WORKDIR}/tags find /usr/inclu…

final的安全发布

final的安全发布 两个关键字“发布”“安全” 所谓发布通俗一点的理解就是创建一个对象&#xff0c;使这个对象能被当前范围之外的代码所使用 比如Object o new Object(); 然后接下来使用对象o 但是对于普通变量的创建&#xff0c;之前分析过&#xff0c;大致分为三个步骤&am…

k8s之身份认证与权限

Kubernetes 中提供了良好的多租户认证管理机制&#xff0c;如 RBAC、ServiceAccount 还有各种策略等。 通过该文件可以看到已经配置了 RBAC 访问控制 /usr/lib/systemd/system/kube-apiserver.service 1.1 认证 所有 Kubernetes 集群有两类用户&#xff1a;由 Kubernetes 管理的…

mysql数据库学习笔记(1)

今天开始学mysql数据库&#xff0c;为什么要学这个呢&#xff0c;因为数据库可结构化存储大量的数据信息&#xff0c;方便用户进行有效的检索和访问。数据库可有效地保持数据信息的一致性、完整性、降低数据冗余。数据库可满足应用的共享和安全方面的要求&#xff0c;把数据放在…

java--认识异常、自定义异常

1.异常体系 Error&#xff1a;代表的系统级别错误(属于严重问题)&#xff0c;也就是说系统一旦出现问题&#xff0c;sun公司会把这些问题封装成Error对象给出来&#xff0c;说白了&#xff0c;Error是给sun公司自己用的&#xff0c;不是给我们程序员用的&#xff0c;因此我们开…

MacOS下homebrew的安装与使用

安装Homebrew //删除原来的文件&#xff0c;可以在删除前查看下Cellar文件夹下已安装的包,homebrew将工具安装在这个文件夹下&#xff0c;并在/usr/local/bin下建立连接 sudo -irm -rf /usr/local/Cellar /usr/local/.gi sudo chown -R liudong /usr/local //更新文件属主为liu…

114. 二叉树展开为链表 --力扣 --JAVA

题目 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 解题思路 …

通过Ai帮我们写前端界面设计

现在我要写一个前端界面&#xff0c;from表单&#xff0c;让用户登录使用的&#xff0c;提交表单之前先分析用户名和密码是否填的完成&#xff0c;并且检查密码必须满足 包含大小写&#xff0c;数字&#xff0c;密码长度必须在8到20之间&#xff0c;不满足不可以提交。用户名必…

ethtool

ethtool ethtool是一个常用的命令行工具&#xff0c;用于配置和查询以太网接口的驱动程序和硬件参数。它提供了一种简单的方式来检查和修改网络接口的设置&#xff0c;以及获取与以太网接口相关的统计数据和状态信息。 ethtool可以执行以下常见的操作&#xff1a; 查询接口信息…

【Hadoop】修改YARN配置文件

本节需要修改的 YARN 配置文件保存在$HADOOP_HOME/etc/haoop 目录下&#xff0c;需要修改的文件共有 7 个&#xff0c;分别是&#xff1a;core-site.xml, hadoop-env.sh, hdfs-site.xml, yarn-site.xml, yarn-env.sh, mapred-site.xml, slave. 这些文件的用途&#xff1a; core…

Mysql:慢cpu过高慢sql查询方法

通过 processlist查询较为便捷&#xff0c;只是结果的info中只会显示sql的前100个字符。 show processlist 通过下面语句查询可显示当前正在执行的完整sql。 SELECT * FROM information_schema.processlist WHERE COMMAND ‘Query’; 借助navicate数据库工具的监控功能查询库的…

大数据技术2:大数据处理流程

前言&#xff1a;下图是一个简化的大数据处理流程图&#xff0c;大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。 1.1 数据收集 大数据处理的第一步是数据的收集。现在的中大型项目通常采用微服务架构进行分布式部署&#xff0c;所以数据的采集需…

【常用字符大全】含emoji表情

常用符号大全 ❤❥웃유♋☮✌☏☢☠✔☑♚▲♪✈✞↑↓◆◇⊙■□△▽─│♥❣♂♀☿Ⓐ✍✉☣☤✘☒♛▼♫⌘☪≈←→◈◎☉★☆⊿※¡━┃♡ღツ☼☁❅♒✎©™Σ✪✯☭➳卐√↖↗●◐Θ◤◥︻〖〗┄┆℃℉✿ϟ☃☂✄¢€£∞✫★✡↙↘○◑⊕◣◢︼【】┅┇…

Java 中适合使用队列(Queue)的场景

在 Java 中&#xff0c;队列&#xff08;Queue&#xff09;适合用于以下场景&#xff1a; 先进先出&#xff08;FIFO&#xff09;数据处理&#xff1a;当需要按照数据的添加顺序进行处理时&#xff0c;可以使用队列。例如&#xff0c;处理任务队列、消息队列等。 示例&#xff…

MySQL慢SQL优化思路

MySQL慢SQL优化思路 具体思路&#xff1a; 1、慢查询日志记录慢 SQL 2、explain 分析 SQL 的执行计划 3、profile 分析执行耗时 4、Optimizer Trace 分析详情 5、确定问题并采用相应的措施 1、查看慢日志 1.1 使用命令查询慢日志配置 mysql> show variables like s…