【Swing】图形用户界面基础
前言
简单总结一下图形用户界面(Graphical User Interface)的相关基础,如GUI的基本元素:窗口,以及介绍Java中的图形界面开发设计的技术。
图形用户界面
图形用户界面就是以图形的方式显示可以操作计算机的用户界面,这是与早期计算机才产生时,在终端(黑框框)中输入命令操作计算机时相对立的。
使用图形界面对于大多数普通用户来说是非常便利的,可以简单使用鼠标点击进行操作等。
构成图形界面的最基本元素就是窗口,在窗口周围还会有菜单、图标等组件。

Java中的图形界面开发
Java图形界面编程初期是Applet,嵌入到html网页中的Java程序(对于Applet不太熟悉不多介绍)。Applet后期逐渐被抛弃主要在于客户端要运行Applet程序就需要安装JRE(Java运行环境)并且要配置正确,JRE本身可能也会有漏洞存在被攻击的风险,以及浏览器对Applet程序支持方面也可能会存在问题。
后面继续出现了初级Java图形界面AWT(Abstract Window Toolkit 抽象视图工具组 )和高级Java图形界面Swing。AWT随着JDK1.0一起发布,提供了一套最基本的GUI类库,具有最基本的窗口、按钮和文本框等,以及所有AWT组件都在java.awt包中。AWT的问题在于:界面太丑、功能有限、组件有限等。
然后出现Swing,Swing代替了AWT组件,但是使用AWT作为基础。Swing中的大部分布局管理器与AWT中相同,Swing中的事件处理机制还是基于AWT。
AWT中的体系结构

AWT的体系结构图
Swing中的组件命名规则一般类名都为JXXX
Component称为组件,用来表示用户图形界面上的各种组成元素:按钮、文本框等
Container称为容器,可以装载其他的Component
Frame是图形用户界面的窗口主类,用于在用户桌面上显示一个应用程序窗口。使用Frame是需要注意:初始化时不可见,需要调用setVisible(true)方法才可以显示;Frame默认就有窗口对于的对于的按钮,但是其关闭按钮默认无效。
Panel是AWT中最常用的容器,用于组织其他Component的放置和便于定位。使用Panel需要注意:Panel不可以独立存在,必须放在Window或者Frame中;Panel可以和布局管理器组合使用实现强大的界面布局
ScrollPane是一种特殊的Panel,它与Panel的区别主要在于它拥有滚动条。需要注意:ScrollPane也是不能独立存在,需要放在顶层容器内部;可以装载其他容器,当其他容器大于ScrollPane本身的话,ScrollPane就会自动产生滚动条;当然设置滚动条一直显示或者一直不显示
其他的一些组件可以查看API进行使用,再此就不多说
小结
以上简单介绍了图形界面(简单的笔记),以及Java图形界面编程需要理解的概念。实战中才会更加深入理解这些概念,与此同时API文档也少不了。后面将继续介绍布局管理器和事件处理。
【Swing】图形用户界面基础的更多相关文章
- Swing图形用户界面
package test; import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.s ...
- Java基础学习总结 -- 图形用户界面GUI
虽然目前Java算不上前端开发的主力,但是作为Java入门基础的一部分,学习Java的GUI编程还是有必要的,而且可以做出一些小且有趣的图形程序来提高学习热情.本篇学习总结均为一个Beginner的笔 ...
- 黑马程序员——【Java基础】——GUI(图形用户界面)
---------- android培训.java培训.期待与您交流! ---------- 一.概述 1.GUI(GraphicalUser Interface):又称图形用户界面,是计算机用户与计 ...
- python基础课程_2学习笔记3:图形用户界面
图形用户界面 丰富的平台 写作Python GUI程序前,须要决定使用哪个GUI平台. 简单来说,平台是图形组件的一个特定集合.能够通过叫做GUI工具包的给定Python模块进行訪问. 工具包 描写叙 ...
- 图形用户界面入门:EasyGui - 零基础入门学习Python035
图形用户界面入门:EasyGui 让编程改变世界 Change the world by program 今天我们来谈谈图形用户界面编程,也就是我们常说的GUI(Graphical User Inte ...
- java-GUI图形用户界面
图形用户界面GUI(Graphical User Interface),指的是在一个程序中用户可以看到的和与之交互的部分. JavaAPI中提供两套组件用于支持编写用户界面AWT and Swin ...
- I/O系统,多线程、图形用户界面编程
多线程 进程与线程区别: 进程需要分配独立的内存空间:线程在同一内存空间中工作,可以共享同一块内存和系统资源 与Java相关的API: 1)Thread类 方法:start()启动: urn() : ...
- 图形用户界面(graphical user interface)
1 java中提供的类库 1.1 定义 AWT(abstract windows toolkit)抽象窗口工具包:提供了与本地图形界面进行交互的接口,AWT中提供的图形函数与操作系统的图形函数有着对应 ...
- 黑马程序员_<<GUI(图形用户界面)--------1>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. GUI图形用户界面 1.简述 Gra ...
随机推荐
- django中CBV加csrf_exempt函数问题
CSRF Token相关装饰器在CBV只能加到dispatch方法上 备注: 1. csrf_protect,为当前函数强制设置防跨站请求伪造功能,即便settings中没有设置全局中间件. 2. c ...
- 直方图均衡化与直方图规定化的MATLAB实现
目录 1.直方图均衡化 2.直方图规定化 @ 1.直方图均衡化 对图像进行非线性拉伸,重新分配图像像元值,使一定灰度范围内像元值的数量大致相等就是直方图的均衡化.原来直方图中间的峰顶部分对比度得到增强 ...
- GIL全局解释器锁,线程池与进程池 同步异步,阻塞与非阻塞,异步回调
GIL全局解释器锁 1.什么是GIL 官方解释:'''In CPython, the global interpreter lock, or GIL, is a mutex that prevents ...
- 【并行计算-CUDA开发】显卡两大生产商
ATI显卡 ATI显卡即AMD显卡.俗称A卡.搭载AMD公司出品的显示芯片.与NVIDIA齐名,同为世界两大显示芯片厂商. 不同的是AMD不是只有显卡,而且还出品CPU(处理器),其AMD处理器与In ...
- 如何查看Nginx安装了哪些模块
当你要编译安装Nginx时,在你执行完./configure之后,会在这个目录生成一个objs这个目录. 进入objs目录下,会看到有一个ngx_modules.c这个文件,这个文件里都是要编译进Ng ...
- 获得http请求的RequestID
firefox: F12---network---响应, 请求一个页面:
- Linux下使用 minicom 自动重复发送数据的实现
目录 在minicom中添加脚本路径 编写脚本 执行脚本 一个项目里要用的设备需要用串口来模拟传感器来测试,还是Linux下的. 串口助手cutecom很好用,但是不能定时发送数据. 所以用下面这个脚 ...
- [转帖]prometheus数据采集exporter全家桶
prometheus数据采集exporter全家桶 Rainbowhhy1人评论2731人阅读2019-04-06 15:38:32 https://blog.51cto.com/13053917/2 ...
- 小记--------spark的宽依赖与窄依赖分析
窄依赖: Narrow Dependency : 一个RDD对它的父RDD,只有简单的一对一的依赖关系.RDD的每个partition仅仅依赖于父RDD中的一个partition,父RDD和子RDD的 ...
- THUSC2016
补退选 Luogu LOJ BZOJ 比较裸. 建一棵Trie树,记录一下每个节点的\(sum\)表示经过该点的字符串个数,每次暴力插入.删除. 同时每个节点维护一个vector,记录一下这个点的\( ...