图形用户界面程序设计任务书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图形用户界面设计(Java)
教学目标:
掌握用于简单的图形用户界面设计的相关方法及原则,会简单的基于GUI的交互式应用程序的实现。
教学环境:计算机机房+多媒体
教学方法:
建构性教学+“建—仿—读—改—写”互动式教学方法(建:建立环境;仿:模仿程序;读:读懂程序;改:改写程序;写:自己编写程序)
计划课时:8课时(4次)
具体实现步骤:
●分发文档:给每一个学生发(1)一个已有的实例程序(编写好的完整的应用程序
或以往学生的作品),(学生参考用);(2)一个不完整的应用程序(要学生当堂填
写完整);(3)一些其他相关的练习应用程序(课后练习用)
●提出要求:一人或两人一组独立完成;
●当堂检查:教师在课上检查学生完成任务情况并记录
●总结(教师汇总问题或由学生相互交流经验)
总任务及情景:情景:一家公司想通过电话传送数据,但是担心电话会被窃听。
任务:现在要求程序员设计编写一个带图形用户界面的应用程序,对数据进
行加密,以使数据传送更安全。
思路:在设计和实现图形用户界面的过程中,主要完成两个任务:第一是
创建窗口并在窗口中添加各种组件,指定组件的属性和它们在窗口中的
位置,从而构成图形界面的外观效果;第二是定义图形界面的事件和各
种组件对不同事件的响应,从而实现图形界面与用户的交互。
1.图形界面的外观设计
创建窗口及添加各种组件:实质是对窗口类及各种组件类的学习
窗口设计
文字输入输出:两个方法:JTextField类和JTextArea类
加载图片、图象、影音等多媒体文件
布局各种组件
2.事件处理
单击按钮事件
键盘、鼠标事件
对话框设计
注意:学习如何引用我们自己创建好的类
分任务:
1.任务:创建一个自己的Welcome应用程序。
情景:一个好的欢迎界面,即体现设计者的个性又吸引用户、便于用户使用,让用户产生亲切感、信任感等,设计一个Welcome界面推销介绍自己的产品
学习要点:
●设置JFrame标签栏文本
●改变JFrame的背景色
●将JLabel放置在JFrame上
●显示JLabel组件的文本
●显示JLabel组件中的图片
教学准备:学生知识水平:
已学习了教材的前几个主题内容
上课环节:创建一个自己的Welcome应用程序。
准备资料:教师用PPT
补充思考:在该应用程序中如何添加其他图形组件,例如按钮组件?
2.库存清单应用程序(介绍JTextField和Jbutton组件)
任务:设计一个库存清单应用程序的图形用户界面,该程序用于计算某大学书店所收教材的总数量
情景:某大学书店收到几箱教材。在一批教材中,每箱教材的数量是相同的。仓库管理员希望使用一台计算机来计算书店收到的每批教材的总数量。仓库管理员会输入一批教材中箱子的数目及每只箱子中所存放教材的数目;然后该应用程序将计算并显示出这批教材的总数量。
学习要点:
●使用图形用户界面设计原则创建GUI
●在应用窗口中自定义JLabel,JTextField和JButton
●水平对齐介绍JtextField中的文本
●将某个JTextField指定为不可编辑
技术小结
(1)自定义Jlabel(起描述作用)
GUI设计提示:如果Jlabel是垂直放置的,应使这一组起描述作用的Jlabel的左边界对齐(2)自定义一个JTextField时,通过设置其文本属性(使用setText)和范围属性(使用setBounds)使该JTextField同另一组件对齐,并且还可以设置它horizontalAlignment属性(利用setHorizontalAlignment,其选项有:JTextField.LEFT, JTextField.CENTER, JTextField.RIGHT)。
(3)定义一个输出JTextField,将可编辑属性设置为false(使用setEditable)
4自定义一个JButton,通过设置其文本属性(使用setText)和范围属性(使用setBounds)使JButton同另一组件对齐。
关键术语:
可编辑属性
JButton组件:一种点击后可以命令应用程序完成某项操作的组件
JLabel组件:一种用来描述其他组件的组件。利用它可帮助用户理解某个组件的意图JTextField组件:一种可从键盘中接受用户的输入或者是将输出显示给用户的组件
GUI设计导航:
Java类库索引:
3.改进的库存清单应用程序
情境:库存清单管理员注意到这个库存清单应用程序存在一个小小的失误。尽管应用程序能够计算出正确的结果,但是这个结果在新的数据输入之后仍然继续显示。而此输出只是当库
存清单管理员再次按下Calculate JButton时,才会得到改变。程序设计人员应对这个库存清单应用程序进行改进,使得用户向任意一个JTextField中输入新的信息时,原结果就将被删除掉,以避免用户对计算结果的准确性产生疑惑。
任务:
(1)运行任务文件夹下的Inventory2.java程序,点击Calculate JButton时,应用程序没有响应?对照任务2文件夹下的inventory程序,在事件处理程序中放置代码。
(2)改进库存清单应用程序,使得用户向任意一个JTextField中输入新的信息时,原结果就将被删除掉。
学习要点:
●如何使应用程序执行操作以响应对JButton的点击操作
●针对JTextField处理KeyPressed事件
4.利息计算器应用程序(引入事件处理的概念)
学习要点:
●在特定范围内获取输入的JSpinner组件
●如何将JTextArea放置到JScrollPane中以增添滚动条
●创建事件处理程序
●事件对象
●如何处理JSpinner中的值发生改变而产生的ChangeEvent事件事件处理程序