【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 ...
随机推荐
- 小程序接入云通信IM
小程序接入云通信IM--插件 小程序微信后台搜索AI情报官组件即可获得小程序云通信IM的即时通信能力
- nginx+gunicorn拓扑
加装Nginx是否有必要 Nginx作为代理服务器,监听来自外部的80端口的请求:而Gunicorn负责监听本地机8000端口的请求.Nginx会把来自外部的请求转发给Gunicorn处理,接收到响应 ...
- 再次挑戰UCOSII内核源码
上次打算看UCOSII(嵌入式实时操作系统)源码还是在大四下学期,当时搜集了很多资料源代码.文档.电子书.结果半路放弃了,究其原因 1.知识原因,虽然已经使用C语言一段时间,但是基础并不好,并没有参 ...
- 【图像处理】FFmpeg-0
FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂.本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一 ...
- pig-csm 7.9修改记录
PigCms\Lib\Action\System\UsersAction.class.php 存在页面广告跳转 bbs.go _pe.cn的问题 tpl\Home\weimob\public_head ...
- hbase增量和全量备份
1.星期五全量备份星期四23:59:59的数据,星期一全量备份到星期日23:59:59的数据,其他的增量备份,备份前一天00:00:00 - 23:59:59的数据 * * /opt/prodfu ...
- IT架构的本质
老僧三十年前未参禅时,见山是山,见水是水. 及至后来,亲见知识,有个入出,见山不是山,见水不是水. 而今得个休歇处,依前见山只是山,见水只是水. 参禅的三重境界在IT技术圈同样适用,初学者感叹每个产品 ...
- SGI STL源码stl_vector.h分析
前言 vector 是最常用的 C++ 容器,其动态扩容的特性是普通数组不具备的,这大大增加了编程的灵活性.虽然平时用 vector 很多,也能基本理解其原理,但无法从深层次理解.直到研读了 vect ...
- hdu 1506 直方图内最大矩形
题目传送门//res tp hdu 单调栈的经典问题 维护区间的左右边界计算面积即可 #include<iostream> #include<algorithm> #inclu ...
- linux的安装和配置
转载:https://www.cnblogs.com/hhaahh/p/10404093.html 1.VMware简介 此软件是一个虚拟的pc机软件,可以在现有操作系统中虚拟出一个新的硬件环境,以此 ...