首页 > 代码库 > Java基础学习总结 -- 图形用户界面GUI(持更)

Java基础学习总结 -- 图形用户界面GUI(持更)

  虽然目前Java算不上前端开发的主力,但是作为Java入门基础的一部分,学习Java的GUI编程还是有必要的,而且可以做出一些小且有趣的图形程序来提高学习热情。本篇学习总结均为一个Beginner的笔记与心得,如有描述不到或错误之处,敬请指正。

 

  1. JavaGUI主要开发工具 -- Swing类库的诞生与功能

  一个合格的Java Developer,不仅要掌握技术,还要有一定的Java历史背景知识储备。所以先简要介绍一下用于JavaGUI开发的主要类库:Swing。

  在Java 1.0时代便有设计GUI的基本类库Abstract Window Toolkit,简称AWT。AWT库工作原理是将处理用户界面元素的任务委派给目标平台(操作系统)的本地GUI工具箱,由本地GUI工具箱负责用户界面元素的创建和动作。这种工作方式是有利也有弊,先说下利处:

  • 处理速度可能要快一点。
  • 可以适应不同的平台,“一次编写,随处使用”。

  弊处:

  • 观感依赖于目标平台。
  • 有些平台并没有像Windows或Mac这样丰富的界面组件(早期)。所以把AWT的设计工作限制在了“最小公分母”。
  • 不同平台存在不同的bug。

  1996年,Netscape创建了另一种GUI库IFC,他的工作方式是 将用户界面组件绘制在空白窗口上,而对等体只需要负责创建和绘制空白窗口。Sun和Netscape合作并完善了这种方式,创建了名为Swing的用户界面库,这便是Swing的诞生

   但是Swing并没有完全取代AWT,到目前Java SE 8中依旧有AWT与Swing两个功能类库:

  • AWT import java.awt (java为核心包)
  • Swing import javax.swing (javax包为功能扩展包)

  Swing没有完全取代AWT的原因是:Swing是基于AWT的架构之上,Swing仅仅是提供了能力更强大的用户界面组件。在Swing编写的程序中,还是需要AWT进行事件处理。简单说就是,Swing是用户界面类,AWT是底层机制

 

技术分享

AWT和Swing中框架和组件类的继承层次

 

 

  2.创建JFrame框架

  3.在框架中添加文本组件JComponent

  

 

Java基础学习总结 -- 图形用户界面GUI(持更)