GridLayout:网格布局
布局效果:将容器区域划分成规则的矩形网格,每个单元格区域大小相等。组件被添加到每个单元格中,按组件加入顺序先从左到右填满一行后换行,行间从上到下。
一个单元格区域放一个组件,因此组件大小被布局管理器强行控制,与单元格同等大小
构造方法
public GridLayout() 所有组件位于一行中,各占一列
public GridLayout(int rows,int cols)指定行数和列数的网格布局
public GridLayout(int rows,int cols,int hgap,int vgap)指定水平间距和垂直间距
当GridLayout布局的容器尺寸发生变化时,每个单元格的大小都将随之作调整,组件的大小也会发生变化。
正常情况下使用GridLayout布局时,向容器中加入的组件数目应与容器划分出来的单元格总数相等,但假如出现两者数目不等的情况,程序也不会出错,而是保证行数为设置值,列数则通过指定的行数和布局中的组件总数来进行调整。
CardLayout:卡片布局
布局效果:将多个组件在同一容器区域内交替显示,相当于多张卡片摞在一起,只有最上面的卡片是可见的。
构造方法
public CardLayout()
public CardLayout(int hgap, int vgap)
其他方法
public void first(Container parent)—显示第一张卡片
public void last(Container parent)—显示最后一张卡片
public void previous(Container parent)—显示前一张卡片
public void next(Container parent)—显示后一张卡片
public void show(Container parent,String name)显示指定名字的卡片
容器对象.add(组件对象,”卡片名”);
GUI事件处理
委托事件模型
事件(Event):用户在GUI组件上进行的操作,如鼠标单击、输入文字、关闭窗口等。
在JDK中定义了多种事件类,用以描述GUI程序中可能发生的各种事件
约定:组件在与用户交互时,遇到特定操作则会触发相应的事件,即自动创建事件类对象并提交给Java运行时系统
事件源(Event Source):能够产生事件的GUI组件对象,如按钮、文本框等。
事件处理方法(Event Handler):能够接收、解析和处理事件类对象,实现与用户交互功能的方法。
事件监听器(Event Listener):调用事件处理方法的对象。
系统在接受到事件类对象后,立即将其发送给专门的事件处理对象(监听器),该对象调用其事件处理方法,处理先前的事件类对象,进而实现预期的事件处理逻辑。