《Java语言程序设计》教案-第11章图形用户界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图形用户界面设计(Java)
教学目标:
掌握用于简单的图形用户界面设计的相关方法及原则,会简单的基于GUI的交互式应用程序的实现。
教学环境:计算机机房+多媒体
教学方法:
建构性教学+“建—仿—读—改—写”互动式教学方法(建:建立环境;仿:模仿程序;读:读懂程序;改:改写程序;写:自己编写程序)
计划课时:8课时(4次, 21 22 23 24)
具体实现步骤:
●分发文档:给每一个学生发(1)一个已有的实例程序(编写好的完整的应用程序
或以往学生的作品),(学生参考用);(2)一个不完整的应用程序(要学生当堂填
写完整);(3)一些其他相关的练习应用程序(课后练习用)
●提出要求:一人或两人一组独立完成;
●当堂检查:教师在课上检查学生完成任务情况并记录
●总结(教师汇总问题或由学生相互交流经验)
总任务及情景:情景:一家公司想通过电话传送数据,但是担心电话会被窃听。
任务:现在要求程序员设计编写一个带图形用户界面的应用程序,对数据进
行加密,以使数据传送更安全。
分任务:
1.任务:创建一个自己的Welcome应用程序。
情景:一个好的欢迎界面,即体现设计者的个性又吸引用户、便要用户使用,让用户产生亲切感、信任感等,设计一个Welcome界面推销介绍自己的产品
学习要点:
●设置JFrame标签栏文本
●改变JFrame的背景色
●将JLabel放置在JFrame上
●显示JLabel组件的文本
●显示JLabel组件中的图片
教学准备:学生知识水平:
已学习了教材的前几个主题内容
上课环节:创建一个自己的Welcome应用程序。
准备资料:教师用PPT
补充思考:在该应用程序中如何添加其他图形组件,例如按钮组件?
2.库存清单应用程序(介绍JTextField和Jbutton组件)
任务:设计一个库存清单应用程序的图形用户界面,该程序用于计算某大学书店所收教材的总数量
情景:某大学书店收到几箱教材。在一批教材中,每箱教材的数量是相同的。仓库管理员希望使用一台计算机来计算书店收到的每批教材的总数量。仓库管理员会输入一批教材中箱子的数目及每只箱子中所存放教材的数目;然后该应用程序将计算并显示出这批教材的总数量。
学习要点:
●使用图形用户界面设计原则创建GUI
●在应用窗口中自定义JLabel,JTextField和JButton ●水平对齐介绍JtextField中的文本
●将某个JTextField指定为不可编辑
学习难点
:
可编辑属性
JButton组件:一种点击后可以命令应用程序完成某项操作的组件
JLabel组件:一种用来描述其他组件的组件。利用它可帮助用户理解某个组件的意图JTextField组件:一种可从键盘中接受用户的输入或者是将输出显示给用户的组件
3.改进的库存清单应用程序
学习要点:
如何使应用程序执行操作以响应对JButton的点击操作
学习难点:Java语言中的事件处理
委托事件模型:产生事件的对象、事件对象和监听者对象之间的关系所组成
例:有一个只含单个Button的简单Frame,如图4.2
import java.awt.*;
import java.awt.event.*;
public class TestButton{
public static void main(String[] args){
Frame f=new Frame("测试");
Button b=new Button("按下这里");
b.addActionListener(new ButtonHandler());
f.add(b,"Center");
f.pack();
f.setVisible(true);
}
}
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println("动作发生");
System.out.println("按钮标签是:"+e.getActionCommand());
图:委托事件处理模型
这个范例的特征如下:
(1)Button类有一个addActionListener(ActionListener)方法
(2)AddActionListener接口定义了一个方法actionPerformed,用来接收一个ActionEvent。
(3)创建一个Button对象时,这个对象可以通过使用addActionListener 方法注册为ActionEvents的监听者
(4)在Button对象上用鼠标进行点击时,将发送一个动作事件。这个动作事件会被使用addActionListener方法进行注册的所以ActionListener的
actionListenerPerformed()方法接收
(5)ActionEvent类的getActionCommand()方法返回与动作相关联的命令名称。以按钮的点击动作为例,将返回Button的标签。
这种方法有若干优点:事件不会被意外地处理;委托模型有利于把工作分布到各个类中,该事件模型提供对JavaBeans的支持。
(1)多监听者
(2)事件Adapters,Adapter类:用来实现含有多个方法的类。这些Adapter 类中的方法是空的。
事件响应接口及方法(概念)
事件处理流程
事件监听者接口和事件监听者接口中提供的方法见表11-9
4.利息计算器应用程序(引入事件处理的概念)
学习要点:
●在特定范围内获取输入的JSpinner组件
●如何将JTextArea放置到JScrollPane中以增添滚动条
●创建事件处理程序
●事件对象
●如何处理JSpinner中的值发生改变而产生的ChangeEvent事件事件处理程序