【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 ...
随机推荐
- 文件夹的层级选择< OC实现 >
类似文件夹的层级选择,可以搜索和创建新文件夹,点击路径标题可以返回对应层级. 界面有点丑,功能还是大概实现了的!! 代码有点多,还是附上地址吧,有兴趣的可以看看哟!!! https://gith ...
- VS Code 的插件位置更改
--extensions-dir 你的目标文件夹 原来的目标位置:"E:\Program Files\VSCode\Code.exe" 更改后的位置:"E:\Progra ...
- Python3 Selenium自动化web测试 ==> 第六节 WebDriver高级应用 -- 操作web页面的滚动条
学习目的: 掌握页面元素定位以外的其他重要知识点. 正式步骤: 测试Python3代码 # -*- coding:utf-8 -*- from selenium import webdriver fr ...
- bert系列二:《BERT》论文解读
论文<BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding> 以下陆续介绍ber ...
- 又做了个新的Blog
http://inkhin.com 服务器比较渣,访问不了的请见谅.
- Docker 运行 MYSQL 数据库的总结
公司里面要求做一个小demo 学习java相关的东西 然后使用了mysql数据库 很早之前做过mysql的容器化运行. 现在想想已经忘记的差不多了 所以这里总结一下 docker化运行mysql数据 ...
- SQLite进阶-10.约束
约束 约束是作用于数据表中列上的规则,用于限制表中数据的类型.约束的存在保证了数据库中数据的精确性和可靠性. 约束可以是列级或表级,列级约束作用于单一的列,而表级约束作用于整张数据表. SQLite中 ...
- TCP的组包、半包、粘包与分包
一.概念 1)组包.简单的说就是tcp协议把过大的数据包分成了几个小的包传输,接收方要把同一组的数据包重新组合成一个完整的数据包. 2)半包.指接受方没有接受到一个完整的包,只接受了部分,这种情况主要 ...
- 2019CSP-S游记
\(2019CSP-S\)游记 \(Day : -26\) 初赛退役失败,准备复赛了... \(Day:0\) 早上\(7:30\)出发坐车去杭州,车上一直在听歌和睡觉中度过(话说锦零的歌真好听).. ...
- python元组数据类型讲解
元组可以被看成是不能改变的列表.列表是动态的,你可以增添,插入,删除,更改列表元素.有时我们需要这样的操作,但是有些时候我们需要保证有些数据是不能被用户或程序更改的.这就是元组的作用. 准确的说,列表 ...