第13章 Swing程序设计
1、Swing概述
GUI(图形用户界面)为程序提供图形界面,最初的设计目的是为程序员构建一个通用的GUI,使其能够在所有平台上运行。但Java 1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要求,于是Swing出现了,它是AWT组件的增强组件,但它不能完全替代AWT组件,这两种组件需要同时出现在一个图形用户界面。
2、Swing特点
Swing组件通常被称为“轻量级组件”,因为它完全由Java语言编写,而Java是不依赖于操作系统的语言,它可以再任何平台上运行;相反,依赖于本地平台的组件被称为“重量级组件”,如:AWT组件就是依赖本地平台的窗口系统来决定GUI组件的功能、外观和风格。Swing主要具有以下特点:
1)轻量级组件
2)可插入外观组件
3、Swing包

详细图解:

在Swing组件中大多数GUI组件嗾使Component类的的直接子类或间接子类,Jcomponent类是Swing组件各种特性的存放位置,这些组件的特性包括组件边界、GUI组件自动滚动。
4、由大到小的顺序
常用布局管理器----JFrame/JDialog窗体----常用面板----标签组件与图标/按钮组件/列表组件/文本组件----组件功能(常用事件监听器)
第13章 Swing程序设计的更多相关文章
- 第13章 Swing程序设计----JDialog窗体
JDialog窗体是Swing组件中的对话框 JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样. 在应用程序中创建JDialog窗体需要实例化JDia ...
- 第13章 Swing程序设计----JFrame窗体
JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器. 在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在 ...
- 第13章 Swing程序设计----常用事件监听器
组件本身并不带有任何功能.这时需要为这些组件添加特定事件监听器. Swing中常用的两个事件监听器,即动作事件监听器和焦点事件监听器.
- 第13章 Swing程序设计----常用面板
面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中. Swing常用的面板包括JPanel面板和JScrollPanel面板. 1.JPanel面板 import j ...
- 第13章 Swing程序设计----标签组件与图标
在Swing中显示文本或提示信息的方法是使用标签.本节将探讨Swing标签的用法.如何创建标签,以及如何在标签上放置文本和图标. 1.标签的使用 标签可以显示一行只读文本.一个图像或带图像的文本,它并 ...
- 第13章 Swing程序组件----常用布局管理器
在Swing中,每个组件在容器中都有一个具体的位置和大小,而在容器中摆放各种组件时很难判断其具体位置和大小.布局管理器提供了Swing组件安排.展示在容器中的方法及基本的布局功能. Swing提供的常 ...
- Java核心技术卷一基础知识-第7章-图形程序设计-读书笔记
第7章 图形程序设计 本章内容: * Swing概述 * 创建框架 * 框架定位 * 在组件中显示信息 * 处理2D图形 * 使用颜色 * 文本使用特殊字体 * 显示图像 本章主要讲述如何编写定义屏幕 ...
- 【RL-TCPnet网络教程】第13章 RL-TCPnet之TCP服务器
第13章 RL-TCPnet之TCP服务器 本章节为大家讲解RL-TCPnet的TCP服务器实现,学习本章节前,务必要优先学习第12章TCP传输控制协议基础知识.有了这些基础知识之后,再搞本 ...
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
随机推荐
- ACE Socket Wrapper Facade
ACE Socket Wrapper Facade 1:Socket API 1.1 IPC(进程间通信) IPC分为本地IPC(同一计算机上的不同进程)和远程IPC(网络互联的不同计算机),本地IP ...
- OpenWRT编译记录--TPLINK_WR841ND_V7
之前自己编译OpenWRT的一些记录,现在搬上来.简单介绍了编译环境的准备,编译过程,以及一些注意事项. 准备工作 本人是在Ubuntu环境下编辑的,首先安装编译所需要的组件包: sudo apt-g ...
- vim全局替换命令
vim全局替换命令 语法为 :[addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行.如:“1,20” ...
- MySQL 5.5 禁用 innodb
MySQL 5.5 禁用 innodb 编辑: my.ini 添加: default-storage-engine=MYISAM skip-innodb
- Chapter 2 Open Book——26
"Oh." He let it drop. I looked away awkwardly. 哦,他让它走了.我笨拙的看向别处. "哦."他不再纠缠于这个问题. ...
- Facebook 添加点赞按钮
本来以为facebook文档里面会有那么一个简单的API,请求之后就可以对指定的页面点赞.但可能是出于防作弊方面的考虑,facebook只提供了自己官方的按钮 https://developers.f ...
- nodejs querystring
Query String querystring.parse(str[, sep][, eq][, options]) querystring.stringify(obj[, sep][, eq][, ...
- scale相关设置—手动设置
在ggplot2 中,可以进行手动设置的函数有: scale_colour_manual(..., values).scale_fill_manual(..., values). scale_size ...
- org.apache.commons.lang3.StringUtils类中isBlank和isEmpty方法的区别
相信很多java程序员在写代码的时候遇到判断某字符串是否为空的时候会用到StringUtils类中isBlank和isEmpty方法,这两个方法到底有什么区别呢?我们用一段代码来阐述这个区别吧: @T ...
- 洛谷-A+B Problem-洛谷的第一个任务
题目描述 Description 输入两个整数a,b,输出它们的和(a,b<=10^9) 输入输出格式 Input/output 输入格式:两个整数以空格分开输出格式:一个数 输入输出样例 ...