第六章GUI Graphics User Interface图形用户界面 浅谈图形界面开发 最常见的图形界面:windows操作系统 学习GUI的方法与内容 一、图形对象的布局(显示的内容如何摆放) 二、图形对象中的组件(显示的不同功能的内容) 三、事件处理(为每个组件添加功能) 方法:这章的内容以制作页面为主,用面向对象的思想去做,也是不同类的对象所组成的。经过前段时间的学习,大家应该具备对 API 的查询和自学类的能力,所以本章重点讲结构。 Swing与AWT AWT是java较早的图形包 Swing包是java的图形包,对AWT进行了扩展,同时Swing包继承于AWT包,现在的开发用Swing包. 使用Swing包时也必须引AWT包 Swing包内的组件前面有J如:JFrame,JButton Swing包内不包含任何和平台有关的本地代码所以Swing开发的图形界面很好的实现跨平台. Swing包中的JFrame面板的颜色问题: JFrame这样的框架,一旦创建,在其中就已经包含一个内容面板,一般我们在往JFrame中添加组件时,都加在了内容面板中,这个面板可以通过JFrame的成员方法getContentPane()取出来, 所以如果设置JFrame的背景颜色,仍然会被内容面板盖住,不如设置内容面板的背景颜色 当时如果框架中还加有其他面板,内容面板的颜色也会被其他面板盖住,要注意一下面板的布局情况 布局管理器 主接口:LayoutManager FlowLayout:线性布局管理器,组件从左到右的顺序排列.(JPanel的默认布局管理器) BorderLayout:组件被分布在东,西,南,北,中5个区域内.(JFrame的默认布局管理器) GridLayout :将空间分成矩形网格 GridLayout(0,1);指行数不限,全在一列上 GridLayout(1,0);列数不限全在一行上. FlowLayout:线性布局 1、FlowLayout(FlowLayout.right,10,5); 指定对齐方式和水平和垂直距离 2、FlowLayout(FlowLayout.right); 默认间距为5 3、FlowLayout(); 默认间距5 默认对齐方式 居中 BorderLayout :把容器分为东,西,南,北,中 1、 BorderLayout (); 2、 BorderLayout (int x,int y); 指定间距 布局管理器总结 JFrame默认的布局管理器为BorederLayout JPanel默认的布局管理器为: FlowLayout 在布局管理器中组建的大小由布局管理器统一管理,自己用Setsize()方法将无法设置 事件处理初谈 事件类的层次结构 * 金桥JAVA基础教程--第六章-GUI 顶层容器 组件 容器+组件 金桥JAVA基础教程--第六章-GUI 层次结构 component Button TextArea CheckBox …... Container Window Panel Frame Panel必须放入Fram 内才可以用 金桥JAVA基础教程--第六章-GUI 金桥JAVA基础教程--第六章-GUI 金桥JAVA基础教程--第六章-GUI 金桥JAVA基础教程--第六章-GUI 金桥JAVA基础教程--第六章-GUI 金桥JAVA基础教程--第六章-GUI 金桥JAVA基础教程--第六章-GUI 中 北 南 西 东 GridLayout :把容器分成表格 1、 GridLayout (int x,int y); 指定行数和列数 金桥JAVA基础教程--第六章-GUI 事件源对象 产生某种事件 向监听器传事件对象 监听器(实现了 某种监听接口的类) 对事件做出某种处理和回应 注册 金桥JAVA基础教程--第六章-GUI EventListener 所有监听器的主接口(标识接口) ActionListener WindowListener …… 子接口 EventObject 所有事件对象的主类 ActionEvent WindowAction …… 子类 金桥JAVA基础教程--第六章-GUI *