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

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.mzph.cn/news/722825.shtml

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

相关文章

微信小程序开发系列(十九)·wxml语法·setData()修改数据

目录 步骤一:创建一个data对象 步骤二:双大括号写法的使用 步骤三:创建一个更新事件按钮 步骤四:定义事件处理函数获取数据 步骤五:定义事件处理函数修改数据 方法一:通过赋值的方式直接修改数据 方…

android音视频编解码,你有过迷茫吗

3-5年的Android工程师最容易遇到的4个瓶颈是什么? 1.原理认知浅 工作内容多是简单UI界面开发和第三方SDK整合,对原理层和底层开发了解不深 2.技术视野窄 长期在小型软件公司,外包公司工作,技术视野被限制的太厉害 3.薪资提升…

React富文本编辑器开发(五)

到目前为止我们所有的功能操作都是直接写在 onKeydown 事件里了,但如果我想复用相同的功能怎么办呢,最好的办法就是拨离了,下面我就形如进行这样的操作,把相关的可复用的命令操作抽取出来。 新建文件 _helper.jsx,创建一个协助器…

游戏引擎渲染流程

一、渲染概述 我们首先看到渲染技术的发展 游戏渲染面临的挑战: 一个容器中同一时刻有大量的游戏对象需要进行渲染,并且不同对象渲染的形式、算法还有所差异,这些使得游戏的绘制系统变得非常复杂;其次,游戏引擎的渲染…

空间直角坐标系、大地坐标系、平面坐标系介绍

空间直角坐标系、大地坐标系、平面坐标系 2017-04-11 13:53 ( 一)空间直角坐标系 空间直角坐标系的坐标原点位于参考椭球的中心,Z轴指向参考椭球的北极,X轴指向起始子午面与赤道的交点,Y轴位于赤道面上切按右手系于X轴呈90度夹角,某点中的坐标可用该点在此坐标系的各…

如何分辨Mac设备X86或ARM

在终端中输入如下命令可以获取到当前 Mac 设备是 X86 还是 ARM 类型 uname -a 以上便是此次分享的全部内容,希望能对大家有所帮助!

DxO PureRAW:赋予RAW图像生命,打造非凡视觉体验 mac/win版

DxO PureRAW 是一款专为RAW图像处理而设计的软件,旨在帮助摄影师充分利用RAW格式的优势,实现更加纯净、细腻的图像效果。该软件凭借其强大的功能和易于使用的界面,成为了RAW图像处理领域的佼佼者。 DxO PureRAW 软件获取 首先,Dx…

几种电脑提示mfc140.dll丢失的解决方法,以及如何预防mfc140.dll丢失

mfc140.dll真是一个超级关键的动态链接库文件!一旦这个文件不翼而飞,可能会导致一些程序无法顺利运行,甚至给系统带来麻烦。但别担心!遇到mfc140.dll文件丢失的情况,我们有一堆应对措施可以立马施行,确保问…

计算机网络-物理层

物理层 基本概念传输媒体信道复用频分复用(FDM)时分复用(TDM)波分复用(WDM)码分复用(CDM) 宽带接入技术ADSL技术光纤同轴混合网(HFC网)FTTx技术 数据通信常识 上次我们已经大致学习了…

06 - 镜像管理

1 了解镜像 Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 但注意, 镜像不包含任何动态数据&#…

【探索AI】二十五 深度学习之第8周:深度学习项目实战

项目名称:基于深度学习的图像分类系统 一、项目背景 随着大数据和人工智能技术的快速发展,图像分类技术在各个领域得到了广泛应用,如安防监控、医疗诊断、自动驾驶等。本项目旨在利用深度学习技术构建一个高效的图像分类系统,实…

Mysql数据迁移3个快速方法与数据库恢复

目录 Mysql数据迁移3个快速方法与数据库恢复 方法1 选中表复制粘贴 方法2 克隆 方法3 DTS迁移【推荐】 数据库误删恢复方法 Mysql数据迁移3个快速方法与数据库恢复 前言:日常开发中,项目测试发布到生产或者复制多一套程序出来,经常免不…

EPSON RA8000CE (RTC模块)压电侠

RA8000CE是一个集成了32.768 kHz数字温度补偿晶体振荡器(DTCXO)的RTC模块。它包括各种功能,如具有闰年校正的秒到年时钟/日历,时间警报,唤醒计时器,时间更新中断,时钟输出和时间戳功能,可以在外部或内部事件…

C++--调整数组顺序使奇数位于偶数前面

题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 方法一: …

2024年最新苹果cms MXoneV10 10.8版本模板独家

2024年最新苹果cms MXoneV10 10.8版本模板独家 源码下载:https://download.csdn.net/download/m0_66047725/88891237 更多资源下载:关注我。

python+django_vue旅游酒店预订出行订票系统pycharm项目lw

a.由于对管理信息方面的内容了解尚浅且没有足够的经验,因而很难对数据庞大的线上旅行信息管理系统建立完善的数据库。 b.线上旅行信息管理系统拥有很大的信息量,其中包括数据库的前期开发和后期更新,因此对数据库的安全性,一致性和…

Stable Diffusion 3报告

报告链接:https://stability.ai/news/stable-diffusion-3-research-paper 文章目录 要点表现架构细节通过重新加权改善整流流量Scaling Rectified Flow Transformer Models灵活的文本编码器RF相关论文 要点 发布研究论文,深入探讨Stable Diffuison 3的…

seata服务器集群搭建

搭建seata-server-1.3服务器对应SpringBoot2.3.12&#xff0c;springcloud2.2.3 <spring-cloud-alibaba.version>2.2.3.RELEASE</spring-cloud-alibaba.version> 首先你安装了nacos 1解压文件 2修改cong/file.conf 让seata集群信息可以共享&#xff0c;我们应该…

云手机运行在云端?安全性有保障吗

随着云计算技术的不断发展&#xff0c;云手机作为一种新兴的移动终端形态&#xff0c;逐渐成为人们关注的焦点。然而&#xff0c;对于许多人来说&#xff0c;云手机 是一个相对陌生的概念&#xff0c;安全性成为了他们最为关心的问题之一。本文将就云手机运行在云端的特点以及其…