java核心技术第十一章学习笔记

news2024/11/20 18:41:46

swing常用用户界面组件

Swing和模型-视图-控制器设计模式

模型:存储内容,必须实现改变内容和查找内容的方法,不可见

视图:显示内容

控制器:处理用户输入

一个模型可以有多个视图,每个视图可以显示全部内容的不同部分

模型类实现一个名字以Model结尾的接口

查看模型无法知道按钮上显示什么

布局管理概述

1.布局管理器

2.边框布局

边框布局管理器,允许为每个组件选择位置

与流布局不同

解决这个问题的方法,使用另外的面板(panel)

3.网格布局

像表格一样排列

文本输入

        文本域(输入单行文本)文本区(多行)

1.文本域

2.标签和标签组件

标签是容纳文本的组件,没有任何修饰,也不能响应用户输入,可以利用标签标识组件

3.密码域

4.文本区

5.滚动窗格

在Swing中,文本区没有滚动条,需要的话,必须将文本区放在滚动窗格中

选择组件

1.复选框

多选

2.单选按钮

单选按钮组

3.边框

4.组合框

下拉一个选择列表,可设置为可编辑

5.滑动条

滑动条允许从连续值中选择

菜单

当用户点击一个菜单项时,所有菜单都关闭,并向程序发送一个消息

1.菜单构建

2.菜单项中的图标

可包含文本标签、图标

3.复选框和单选框按钮菜单项

4.弹出菜单

不固定在菜单栏中而是随处浮动的菜单

5.键盘助记符和加速器

在菜单项构造器中指定一个主机字母来为菜单创建一个键盘助记符

键盘加速器是在不打开菜单的情况下选择菜单项的快捷键

6.启用和禁用菜单项

7.工具栏

按钮栏,可快速访问程序中最常用的命令,可随处移动(采用边框布局),可脱离窗体

8.工具提示

复杂的布局管理

1.网格包布局

没有任何限制的网格布局,行和列的大小可以改变

1.1 gridx、gridy、gridwidth、gridheight参数

约束定义了组件在网格中的位置,gridx和gridy指定了所添加组件左上角的行、列位置,gridwidth和gridheight确定组件占据的行数和列数。

1.2 权重字段

为区域设置,为0则该区域在该反向上永远为初始大小,不会扩大或缩小。

1.3 fill和anchor参数

不希望一个组件拉伸至填满整个区域,则设置fill约束,设置anchor字段指定它在区域中的位置

1.4边距

可以通过设置GridBagContraints的insets字段在组件周围增加额外的空白区域

1.5 指定gridx、gridy、gridwidth、gridheight参数的候选方法

建议不要将gridx和gridy设置为绝对位置,应该设置为常量GridBagConstraints.RELATIVE

1.6 网格包布局技巧

1.7 使用辅助类管理网格包约束

2.定制布局管理器

可以设计自己的LayoutManager类以一种特殊的方式管理组件,

对话框

模式对话框和无模式对话框。模式对话,在结束这个对话框的处理之前,不允许用于与应用的其余窗口进行交互,如果用户要先获取用户提供的信息,程序才能运行,则使用模式对话框。无模式对话框允许用户在这个对话框中输入信息,同时允许在应用的其他部分输入信息。

1.选择对话框

2.创建对话框

3.数据交换

4.文件对话框

打开和保存文件,文件对话框应该显示文件和目录,允许用户浏览文件系统,swing提供了JFileChooser类,模式对话框。

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

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

相关文章

稀碎从零算法笔记Day6-LeetCode:长度最小的子数组

前言:做JD的网安笔试题,结果查找子串(单词)这个操作不会。痛定思痛,决定学习滑动数组 题型:数组、双指针、滑动窗口 链接:209. 长度最小的子数组 - 力扣(LeetCode) 来…

使用awk和正则表达式过滤文本或字符串 - 详细指南和示例

当我们在 Linux 中运行某些命令来读取或编辑字符串或文件中的文本时,我们经常尝试将输出过滤到感兴趣的特定部分。这就是使用正则表达式派上用场的地方。 什么是正则表达式? 正则表达式可以定义为表示多个字符序列的字符串。关于正则表达式最重要的事情之…

网络编程的学习

思维导图 多路复用代码练习 select完成TCP并发服务器 #include<myhead.h> #define SER_IP "192.168.125.73" //服务器IP #define SER_PORT 8888 //服务器端口号int main(int argc, const char *argv[]) {//1、创建用于监听的套接字int sfd -1;s…

文件操作与IO(3) 文件内容的读写——数据流

目录 一、流的概念 二、字节流代码演示 1、InputStream read方法 第一个没有参数的版本&#xff1a; 第二个带有byte数组的版本&#xff1a; 第三个版本 搭配Scanner的使用 2、OutputStream write方法 第一个版本&#xff1a; 第二个写入整个数组版本&#xff1a; …

小米澎湃和华为原生鸿蒙,那个更有发展前景?

小米的澎湃系统暂时不了解&#xff0c;但华为的鸿蒙系统值得一说。 就目前鸿蒙而言&#xff1b;24年初鸿蒙星河版面向开发者开放申请。其底座全线自研&#xff0c;去掉了传统的 Linux 内核以及 AOSP 安卓开放源代码项目等代码&#xff0c;仅支持鸿蒙内核和鸿蒙系统的应用。星河…

【UE 材质 Niagara】爆炸效果

目录 效果 步骤 一、材质部分 二、Niagara部分 效果 步骤 一、材质部分 1. 创建一个材质&#xff0c;这里命名为“M_Burst” 打开“M_Burst”&#xff0c;设置混合模式为半透明&#xff0c;设置着色模型为无光照&#xff0c;勾选双面显示 在材质图表中首先创建扰动效果 其…

网络编程作业day4

广播模型&#xff1a; 发送端&#xff1a; #include <myhead.h> int main(int argc, const char *argv[]) {//创建套接字int sfdsocket(AF_INET,SOCK_DGRAM,0);if(sfd-1){perror("socket error");return -1;}//设置套接字允许广播属性int broadcast1;if(sets…

蓝桥杯备赛 day2 | 4. 付账问题 5. 数字三角形

付账问题&#xff0c;关键是要了解整型的范围&#xff0c;确定获取输入数据的变量类型 需要注意的是int的十进制范围-32768 ~ 32767&#xff0c;那么我们可以知道&#xff0c;人数n是可以用int来装的&#xff0c;需付款数S应该是long long&#xff0c;获取的每个人初始钱数也应…

自动驾驶预测与决策规划(nuplan数据集)

欢迎大家关注我的B站&#xff1a; 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 目录 1.概述 2 数据采集 3.开环与闭环仿真 4.数据注释 5.场景 6.规划框架 6.1Train 6.2Simulation 6.3Metric 6.4Visualization 7.下载…

JasperStudio中TextField文本框组件渲染之后,出现行间距不一致的问题

目录 1.1、问题描述 1.2、解决方案 1.1、问题描述 最近在处理线上遇到的一个问题,是有关JasperReports报表相关的问题,问题背景大概是这样的:我们的项目中使用了JasperReports来渲染报表,其中使用到了Text Field文本框组件,但是问题是渲染出来的数据直接会出现一些间距…

JAVA如何利用接口实现多继承问题

hello&#xff0c;上文带大家学习了java中类的继承&#xff0c;我们可以创建一个父类&#xff0c;将类中的共性抽取出来&#xff0c;通过子类继承的方式来实现代码的复用。今天带大家学习不同类之间的另外几种关系&#xff0c;即多态抽象类和接口。 多态的概念 多态&#xff0c…

【Spring底层原理高级进阶】Spring Kafka:实时数据流处理,让业务风起云涌!️

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &#x1f680; 本…

Microsoft@ppt@快速掌握核心功能@常用功能培训

文章目录 refs动画动画的用途逐部分显示内容实现问答效果部分地修改页面内容动画效果 常用窗口对象选择窗口&#x1f47a;批量选择对象 如何为重叠的对象高效的命名重命名方式方案1方案2对象重命名原则重命名后如何使用tips 动画窗口&#x1f47a; 幻灯片管理幻灯片母版幻灯片母…

dolphinscheduler海豚调度(四)钉钉告警

在之前的博文中&#xff0c;我们已经介绍了DolphinScheduler海豚调度的基本概念和工作流程&#xff0c;以及Shell任务和SQL任务的实践。今天&#xff0c;让我们来学习DolphinScheduler中的另一个重要功能&#xff1a;钉钉告警。 钉钉群添加机器人 在钉钉群添加机器人&#xf…

使用Redis入门Golang

Golang&#xff0c;也被称为Go&#xff0c;近年来由于其简单性、效率和并发支持而获得了显著的关注。另一方面&#xff0c;Redis是一个强大的内存数据存储&#xff0c;擅长于缓存、会话存储和实时分析。将这两种技术结合起来&#xff0c;可以为各种用例提供可扩展和高效的解决方…

LeetCode 2673. 使二叉树所有路径值相等的最小代价【贪心】1917

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

【TEMU】凌风TEMU工具箱介绍,集合智能抢仓、TEMU选品、TEMU监控、TEMU库存管理,本地仓库管理、跨境翻译等功能....

凌风TEMU工具箱介绍 一、安装教程1、下载方式2、环境准备3、安装步骤3.1、插件安装3.2、客户端安装 4、启动软件 二、使用教程一&#xff1a;登录注册激活方法2.1 注册登录2.2 激活方式 &#xff08;激活码激活&#xff09;2.3 绑定店铺 二&#xff1a;使用方法&#xff1a;功能…

Zookeeper:常见的面试题和答案

1、什么是Zookeeper&#xff1f;它的作用是什么&#xff1f; 答&#xff1a; Zookeeper是一个开源的分布式协调服务&#xff0c;提供了一些基本的分布式服务&#xff0c;如配置管理、分布式锁、分布式队列等。其主要作用是帮助分布式应用程序进行协调和管理&#xff0c;确保分…

Crossover24版现已上线!附免费升级攻略 Crossover软件下载使用方法

好久不见啦&#xff0c;最近一直在忙着研究Mac玩游戏&#xff0c;什么幻兽帕鲁、女神异闻录之类的&#xff0c;有些沉迷了&#xff0c;实在对不住大家… 不过今天还是给大家带来了好消息&#xff01;那就是让Mac玩游戏不再是笑话的神器&#xff0c;CodeWeavers公司正式发布了C…

动态规划|【路径问题】|931.下降路径最小和

目录 题目 题目解析 思路 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 代码 题目 931. 下降路径最小和 给你一个 n x n 的 方形 整数数组 matrix &#xff0c;请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开…