面向对象-教案(第31讲).doc
PAGE5
《面向对象程序设计》教案
第31讲
教学对象
计算机科学技术专业
授课内容
12.1组件和窗口
12.2容器布局
课程标准
教学目标
(一)知识目标
1.了解Java图形界面开发的基本原理
2.掌握常用的容器布局管理器
(二)能力目标
1.学会使用Swing开发Java图形用户界面程序
2.学习各种常用容器布局使用
教学方法
采用讲授法、演示法、讨论法、案例教学。
学时及分配(第1学时50分钟)
课堂讲授30分钟
课堂练习20分钟
12.1.1Swing概述
12.1.2组件
12.1.3容器
12.1.4简单的Swing程序
学时及分配(第2学时50分钟)
课堂讲授20分钟
课堂练习30分钟
12.2.1FlowLayout布局
12.2.2BorderLayout布局
12.2.3GridLayout布局
12.2.4JPanel类及容器嵌套
知识点分析
重点:
布局管理器的使用
难点:
复杂界面的布局
教学过程设计
内容
方式
问题导入:
为了开发图形界面程序,Java从1.0版就提供了一个AWT类库,称为抽象窗口工具箱。AWT为程序员提供了构建GUI程序的组件,如Frame、Button、Label等。使用AWT创建GUI存在严重缺陷,最重要的是它将可视组件转换为它们各自的特定平台的对应元素。由于AWT组件使用了本机代码资源,所以它们称为重量级的。
Java从1.2版开始提供了一个新的组件库Swing,该库可以说是第二代GUI开发工具集。
内容要点
12.1.1Swing概述
Swing组件完全用Java编写,不依赖于特定平台,是轻量级的组件,每一个组件的外观都由Swing确定,组件在任何平台下都有一致的行为方式。
由于Swing组件比AWT组件有许多优点,所以新开发的程序应该使用Swing组件。但要注意Swing并没有完全取代AWT,它只是替代了AWT包中的UI组件(如Button、TextField等),AWT中的一些辅助类(如Graphics、Color、Font等)仍然保持不变。另外,Swing仍然使用AWT的事件模型。
12.1.2组件
Swing图形界面元素称为组件,大多数组件都派生于JComponent类(顶级容器除外)。JComponent类提供了所有组件的通用功能。JComponent类继承了AWT的Container类和Component类,因此,Swing组件仍然是建立在AWT组件的基础上的,并且与后者兼容。所有的Swing组件类都定义在javax.swing包中,表12-1列出了Swing常用的组件类。
表12-1Swing常用组件类
类名
类名
类名
类名
JButton
JCheckBox
JColorChooser
JComboBox
JComponent
JDialog
JFileChooser
JFrane
JLabel
JList
JMenu
JMenuBar
JMenuItem
JOptionPane
JPanel
JPasswordFied
JPopupMenu
JProgressBar
JRadioButton
JRadioButtonMenuItem
JScrollBar
JScrollPane
JSeparator
JTable
JTextArea
JTextField
JToolTip
JTree
12.1.3容器
Swing组件需要放置到容器中,Swing定义了两种类型的容器,第一种是顶级容器,如JFrame、JDialog和JApplet(从JDK9开始,JApplet已被废弃)。这些容器继承自AWT的Container类,而不是继承自JComponent类。顶级容器是重量级组件,它们是Swing组件库中的特殊情况。
顶级容器必须位于容器层次结构的顶层,不能被其他任何容器包含。而且,每一个容器层次结构都必须由顶级容器开始。通常用于应用程序的顶级容器是JFrame。
Swing还支持轻量级容器,它们继承自JComponent类,包括JPanel、JScrollPane、JRootPane等。轻量级容器通常用来组织和管理一组相关的组件,因此,可以使用轻量级容器来创建相关控件子组,让它们包含在一个外部容器中。
12.1.4简单的Swing程序
每个使用Swing的程序必须至少有一个顶层Swing容器。对GUI应用程序来说,一般应该有一个主窗口,或称框架窗口。在Swing中,窗口是由JFrame对象实现