【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 ...
随机推荐
- Go项目实战:打造高并发日志采集系统(五)
前情回顾 前文我们完成了如下功能1 根据配置文件启动多个协程监控日志,并启动协程监听配置文件.2 根据配置文件热更新,动态协调日志监控.3 编写测试代码,向文件中不断写入日志并备份日志,验证系统健壮性 ...
- React Native初始化项目后执行react-native run-ios,构建失败
今天是肿么了......一上班创建React Native项目,react-native run-ios运行就报错,运行不了...呜呜...... 一开始以为自己react-native run-io ...
- JRebel for IntelliJ
好久没用jrebel了,跟前端进行项目联调总是有些许改动,还是热部署方便. 目前用的idea版本:IntelliJ IDEA 2019.2 JRebel插件版本:JRebel for IntelliJ ...
- centos7修复grub2
GRUB :“the Grand Unified Bootloader ”引导加载程序 1.主要配置文件 #/boot/grub2/grub.cfg #rm -rf /boot/grub2/grub ...
- C#常用处理数据类型转换、数据源转换、数制转换、编码转换相关的扩展
public static class ConvertExtensions { #region 数据类型转换扩展方法 /// <summary> /// object 转换成string ...
- python 输出对齐
几种不同类型的输出对齐总结: 先看效果: 采用.format打印输出时,可以定义输出字符串的输出宽度,在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度. 用于美化表格时很有用. >& ...
- 不要轻易使用ffmpeg的audio_device_number来设置音频设备
最近项目中需要使用ffmpeg实现录音功能,使用的ffmpeg-3.4.4的库,根据源代码dshow.c中的定义 { "audio_device_number", "se ...
- 腾讯云远程连接Kafka
腾讯云服务器上部署Kafka,使用server.properties中公网IP配置: 启动时候报错: ERROR [KafkaServer id=0] Fatal error during Kafka ...
- OS X更新Catalina 10.15.2后虚拟机黑屏(已解决)
简述 问题:更新OS X 10.15.2后VM Ware进unbuntu 16.0黑屏,但是VM Ware 有显示,情况类似如下: 解决办法 重启系统,command+r 进入恢复模式,打开bas ...
- 2019icpc银川网络赛
外面吵得风生水起,我校平静地在打比赛,丝毫不知道这次比赛的题目就是把2018银川邀请赛的题照搬过来了QAQ,主办方真牛逼.. A Maximum(思维) 题意:维护一个栈,支持入栈和出栈操作,并计算每 ...