GUI代表图形用户界面,指的是在一个程序中用户可以看见和与之交互的部分,Swing组件就是Java SE中的一种GUI组件。Swing采用的是MVC(Model--模型;View--视图;Controler--控制器)架构来设计组件类。
Swing包含容器和组件两种基本元素,组件是独立的可视化控件,容器是放置其它组件的特殊类型的组件,容器又分为重量级容器和轻量级容器。重量级容器提供最基本的窗口放置其它容器和组件,基于图形用户界面的用户程序必须创建一个重量级容器后,才能放置其它GUI容器或组件,比如JFrame、JDialog、JWindow和JApplet等。轻量级容器与普通组件一样,主要是为了方便定位其它组件,比如JPanel、JTOOLBar等。
容器使用布局管理器决定组件在容器中的布局方式,常用的包括流式布局管理器Flowlayout、边框布局管理器BorderLayout和网格布局管理器GridLayout。