这三种东西是GUI界面中最重要的组成部分。
1)组件
java.awt.Component类是所以组件的父类(这是个抽象类)。同时在该类中也定义了所有组件都应该具备的公共方法。
Component类型对象是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互。例如图形用户界面中的按钮、复选框和滚动条等都是它的实例。
//实现的接口没有写出来
public abstract class Component{}
下面常用的类都是Component的"直接"子类:
java.awt.Button
Button类用于创建GUI中的按钮
java.awt.Canvas
Canvas类表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。
java.awt.Checkbox
Checkbox类用于创建GUI中的复选框
java.awt.Choice
Choice类表示一个弹出式选择菜单,当前的选择显示为菜单的标题。
java.awt.Container
Container类是所有容器类的父类.(容器本身也是一种组件)
java.awt.Label
Label类型对象是一个可在容器中放置文本的组件。一个标签只显示一行只读文本。文本可由应用程序更改,但是用户不能直接对其进行编辑
java.awt.List
List组件为用户提供了一个可滚动的文本项列表。可设置此 list,使其允许用户进行单项或多项选择
java.awt.Scrollbar
Scrollbar类可用于创建一个滚动条
java.awt.TextComponent
TextComponent类是所有允许编辑文本的组件的父类。
2)容器
java.awt.Container类是所有容器的父类。
容器也是一种特殊的组件,它是一个可包含其他组件的组件,所以Container类继承了Component类
public class Container extends Component{}
下面常用的类都是Container的"直接"子类:
javax.swing.JComponent
JComponent类是除顶层容器外所有Swing组件的基类
java.awt.Panel
Panel是最简单的容器类,应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板
java.awt.Window
Window对象是一个没有边界和菜单栏的顶层窗口
java.awt.ScrollPane
用于实现单个组件的水平或垂直滚动的容器类
3)布局管理器
Java中的图形界面在布局管理上采用容器和布局管理相分离的方案,也就是说容器只是把组件放进来,但它不管怎样放置。至于如何放置需要用到布局管理器。
java.awt.LayoutManager接口是所有布局管理需要实现的接口
Java中常用布局管理器有:
BorderLayout 边界布局管理器
FlowLayout 流式布局管理器
GridLayout 网格布局管理器
CardLayout 卡片布局管理器
注:很多容器都是有默认的布局管理器的,同时也允许用户修改
注:也可以不使用任何布局管理器,自己使用坐标控制组件在容器中的位置