JAVA核心卷第十章
图形程序设计
swing 概述
大概理解几个专有名词:
1,AWT:abstract window toolkit
2,IFC:internet foundation class
swing没有完全替代awt,而是基于AWT架构之上
swing是指“被控制的”用户界面类
awt是指像事件处理这样的窗口工具箱的底层机制
swing的优点:
1,拥有一个丰富,便捷的用户界面元素集合
2,对底层平台依赖的很少,因此与平台相关的bug很少
3,给予不同平台的用户一致的感觉
问题:如果在所有平台上用户界面元素看起来都一样的,那么它们就有可能与本地控件不一样,而这些平台的用户对此并不是很熟悉.
解决:在程序员编写swing程序时,可以为程序指定专门的“观感”。市场上人们将它称为java观感。
java7提供了一个新观感,称为Nimbus,不过默认情况下不可用,Nimbus使用了矢量绘图而不是位图绘图,所以它不依赖屏幕分辨率。
java se 5.0引入了一种称为Synth的观感。
http://napkinlaf.sourceforge.net/
Napkin观感为所有用户界面元素提供了一种手绘外观。
Eclipse 集成开发环境使用了一种与AWT类似称为SWT的图形工具箱。
创建框架
顶层窗口,没有包含在其他窗口中的窗口,被称为框架。
在AWT库中有一个被称为Frame的类,用于描述顶层窗口。
在这个类的SWING版本名为jframe,它拓展于frame类。
绝大多数swing组件类都以J开头,在Java中有Button,frame这样的类,但它们仍属于AWT组件,如果偶尔忘记写J,程序仍然可以进行编译和运行。但是会导致视觉和行为的不一致。