目录

一、GUI概述

二、Awt与Swing

三、Swing快速入门

3.1 什么是Swing?

3.2 Swing的特点

3.3 Swing体系结构

3.4 Swing组件容器

3.4.1 顶层组件容器

3.4.2 中间组件容器

3.5 常用的Swing基础组件


一、GUI概述

  • Graphical User Interface(图形用户接口)。

  • 用图形的方式,来显示计算机操作的界面,这样更方便更直观。

  • Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中。

二、Awt与Swing

java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能,依赖于系统平台。属于重量级控件

java.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。不依赖于系统平台,增强了移植性,属于轻量级控件

三、Swing快速入门

3.1 什么是Swing?

Swing是新一代的图形界面工具,用来开发图形界面。它是AWT组建的增强组件,但它并不能完全替代AWT。

3.2 Swing的特点

  • 轻量形组件

    • Swing完全由java语言来编写,所以它不需要依赖于本地操作系统语言在任何平台上运行,并保持相同的运行效果。

  • 可插入外观组件

    • 用户界面的外观可以动态改变,以适应不同平台和操作系统下用户的习惯。

3.3 Swing体系结构

Componet:是AWT的非菜单用户界面控件的抽象基类。Component表示具有图形表示的对象。

Container类:组件的载体,添加到容器中的组件放在一个列表中。列表的顺序将定义组件在容器内的正向堆栈顺序。如果将组件添加到容器中时未指定索引,则该索引将被添加到列表尾部(此后它位于堆栈顺序的底部)。

JComponet类:是除顶层容器外所有Swing基础组件的基类。要使用继承自JComponent 一个组成部分,必须把的容纳层次结构,其根是一个顶层 Swing 容器组件。

Window类:是一个没有边界和菜单栏的顶层窗口。窗口的默认布局是 BorderLayout

构造窗口时,它必须拥有窗体、对话框或其他作为其所有者定义的窗口。

总结

JComponent组件类主要包括一些不能独立显示的组件(即必须依赖于中间容器才能显示),而Window组件类主要包括了一些可以独立显示的组件。即Swing的组件分为三种类型:顶层组件、中间组件、基本组件。

3.4 Swing组件容器

创建图形用户界面程序的第一步是创建一个容器类以容纳其他组件,常见的窗口就是一种容器。容器本身也是一种组件,它的作用就是用来组织、管理和显示其他组件。

Swing 中容器可以分为两类:顶层容器和中间容器

3.4.1 顶层组件容器

顶层容器是进行图形编程的基础,一切图形化的东西都必须包括在顶层容器中。顶层容器是任何图形界面程序都要涉及的主窗口,是显示并承载组件的容器组件。

在 Swing 中有三种可以使用的顶层容器,分别是 JFrame、JDialog 和 JApplet。

  1. JFrame:用于框架窗口的类,此窗口带有边框、标题、关闭和最小化窗口的图标。带 GUI 的应用程序至少使用一个框架窗口。【重点】

  2. JDialog:用于对话框的类。【了解】

  3. JApplet:用于使用 Swing 组件的 Java Applet 类。【不涉及】

3.4.2 中间组件容器

中间容器是容器组件的一种,也可以承载其他组件,但中间容器不能独立显示,必须依附于其他的顶层容器。

常见的中间容器有 JPanel、JScrollPane、JTabbedPane 和JToolBar。

  1. JPanel:表示一个普通面板,是最灵活、最常用的中间容器。

  2. JScrollPane:与 JPanel 类似,但它可在大的组件或可扩展组件周围提供滚动条。

  3. JTabbedPane:表示选项卡面板,可以包含多个组件,但一次只显示一个组件,用户可在组件之间方便地切换。

  4. JToolBar:表示工具栏,按行或列排列一组组件(通常是按钮)。

3.5 常用的Swing基础组件

组件名称 定义
JButton 代表Swing按钮,按钮可以带一些图片或文字
JCheckBox 代表Swing中的复选框组件
JComBox 代表下拉列表框,可以在下拉显示多个选项
JFrame 代表Swing框架类
JDialog 代表Swing版本的对话框
JLabel 代表Swing中的标签组件
JRadioButton 代表Swing的单选按钮
JList 代表能够在用户界面中显示一系列条目的组件
JTextField 代表文本框
JPasswordField 代表密码框
JTextArea 代表Swing中的文本区域
JOPtionPane 代表Swing中的一些对话框

01.JavaSwing(概述)相关推荐

  1. RN学习笔记01:概述、特点与环境搭建

    RN学习笔记01:概述.特点与环境搭建 一.RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 Reac ...

  2. 中学教学01教学概述02教学过程03教学原则与方法

    01教学概述 一.教学的概念 (一)教学的含义 教学的教,学生的学共同组成的一种活动 面对着墙讲课不是教学 教学也不等于教育学 教育学是一门学科,科学 教学不等于教育 教育:教书育人 教育的概念更大 ...

  3. 机器学习入门 01 —— 机器学习概述

    文章目录 系列文章 机器学习概述 1.1.人工智能概述 1 人工智能应用场景 2 人工智能小案例 3 人工智能发展必备三要素 4 人工智能.机器学习和深度学习 5 小结 1.2.人工智能发展历程 1. ...

  4. C 程序设计教程(01)—— 概述

    C 程序设计教程(01)-- 概述 该专栏主要介绍 C 语言的基本语法,作为<程序设计语言>课程的课件与参考资料,用于<程序设计语言>课程的教学,供入门级用户阅读. 目录 C ...

  5. (全栈旅行足迹地图打卡网站 0-1)-项目概述-01(WebGIS Vue-js-go-mysql)

    专栏介绍 首先本专栏是一个全栈项目的旅行足迹地图打卡网站,定位是一个想要做开发的小伙伴,还有就是刚刚开始学习Web项目的大学生,想要做项目或者其他设计的学习源.也定位于目标想要快速上手 WebGIS ...

  6. 笔记 HTML - 01 HTML 概述

    01 HTML 概述 By Kevin Song 定义:HTML 超文本标记语言 特点 最基础的网页语言 代码都是由标签组成 代码不区分大小写 <html><head>< ...

  7. 光脚丫思考Vue3与实战:第04章 模板语法 第01节 概述+插值

    下面是本文的屏幕录像的在线视频: 光脚丫思考Vue3与实战:第04章 模板语法 第01节 插值 温馨提示: 1.视频下载:线上视频被压缩处理,可以下载高清版本: 链接:https://pan.baid ...

  8. 中学课程01课程概述02课程组织03基础教育课程改革

    一.课程概述 (一)"课程"一词的由来-单选-斯宾塞准备学知识 "课程"一次源于斯宾塞<什么知识最优价值>,他是最早把课程作为一个专门的研究术语 ( ...

  9. 【JDBC - 核心技术】01 JDBC概述

    第01章 JDBC概述 创作日期:2021-12-05 1.1 数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意 ...

  10. MEM/MBA 写作-论证有效性分析(01) 概述

    1 写作试题概述与简介 MEM/MBA 考试中 作文主要分为两个部分:论证有效性分析 和 论说文,分别位于卷面的56题和57题,如下图所示: 论证有效性分析(30分,参考时间25分钟) 和 论说文(3 ...

最新文章

  1. linux运维基础篇 unit14
  2. cucumber_java从入门到精通(5)使用maven创建cucumber_java项目
  3. java和python的web自动化有什么区别-python和java哪个更适合做自动化?
  4. SLAM:ORB-SLAM 位姿优化描述
  5. js function理解
  6. P4451-[国家集训队]整数的lqp拆分【生成函数,特征方程】
  7. 重学java基础第五课:博客的重要性
  8. 什么是服务网格(Service Mesh)
  9. apache 配置虚拟目录
  10. 关于vue的语法规则检测报错问题
  11. unity安卓打包修改启动画面_Unity自动化打包Android APK
  12. 看我如何发现开源 WAF引擎ModSecurity 中的DoS 漏洞
  13. 应用程序到偏好设置跳转 以及 应用程序之间的跳转
  14. 检测制定代码部分的profiler
  15. 测试用例的设计方法及测试分类
  16. winload.exe 数字签名无法验证解决方法
  17. 什么是图像上的频率?
  18. Chromium浏览器不能播放MP4
  19. vw 前端_前端适配之vw兼容方案(Vue版)
  20. R中的假设检验(二)方差分析

热门文章

  1. FIBOS社区发起人 响马:一个“极客硬核老炮儿”是怎样的?
  2. Unity3D ML-agents 入坑指导
  3. tobit回归模型matlab,Eviews中如何操作tobit模型
  4. 腾达无线路由器dns服务器,腾达无线路由器如何设置DNS
  5. python读取fits第三方库_如何读取FITS
  6. 【Unity2D入门教程氵篇】简单制作一个弹珠游戏之制作场景④(设置不可破坏砖块,发布游戏设置)
  7. 对话投资人刘芹:认知不够,才不敢做疯狂的事
  8. c语言低通滤波参数调节,低通滤波器的参数设置
  9. 自定义circleindicator
  10. 杂七杂八(4): win10设置启动时创建系统还原点