湖南科技职业学院软件职业技术学院 教师课时授课计划 教师姓名: 授课班级: 授课课时:8 课程名称:JAVA程序设计 第 2 课 教学循环号: 课题 接受用户数据  各教学环节课时分配 讲授  4 课时   有指导的实践  2 课时   独立实践  2 课时  教学内容 识别用户界面屏幕的组件 创建图形用户界面屏幕  重点 识别用户界面屏幕的组件  难点 创建图形用户界面屏幕  教具 多媒体  作业 独立实践  授课日期 (校历) 第 周星期 第 节   第 周星期 第 节   第 周星期 第 节   第 周星期 第 节  课后小结 通过本课的学习,学生掌握了: 用户界面的类型 典型的GUI组件 Swing包 把组件加入到框架的方法  详细教学过程附后 详细教学过程: 一、教学目标陈述(5分钟) 识别用户界面屏幕的组件 创建图形用户界面屏幕 二、图形用户界面设计概述(45分钟) 用户界面的需要 接收用户的输入 使应用用户友善 用户界面的类型 字符用户界面 图形用户界面 GUI的组件 可视化控件诸如文本框称为组件 存放这些组件的顶层窗口称为容器 组件继承它的父容器的性质  抽象窗口工具箱(AWT) Java 1.0版中,用它创建用户接口 Java 基础类(JFC) 它是AWT的扩充 它也称为 Swing Swing 组件提供交叉平台支持 可定制Swing组件以适合你需求– 例如:把工具提示加入到按钮控件 三、实例分析(45*3分钟) 2.D.1 1、问题陈述(接收用户的数据) CellGo已用Java开发了应用。 如下创建了Customer 实体的类。识别其用户接口的控件和写出接收客户材料的代码。 Customer   customerName : String customerCellNo : String customerPackage : String customerAge : int   2、确定任务 识别接收客户材料的控件 识别每个控件中要显示的缺省值 识别控件的大小 识别框架窗口的标题和大小 创建框架窗口 加入控件到框架窗口 保存、编译、及执行程序 3、分析解决问题 识别接收客户材料的控件 控件: 用来简化用户交互 Java 中可用控件是:标号、文本框、文本区、下推按钮、单选按钮、复选按钮、列表、及组合框。 结果 文本框接收单行字母入口,组合框对单个项目选择显示下拉式列表,用控件接收客户材料如下: Attribute Controls  customerName Label, Text Box  CustomerCellNo Label, Text Box  customerPackage Label, Combo Box  customerAge Label, Text Box   识别每个控件中要显示的缺省值 结果 Attribute Control Value  customerName Label Text Box “Customer Name: ” none  customerCellNo Label Text Box “Cell Number: ” none  customerPackage Label Combo Box “Package: ” “Executive”, “Standard”  customerAge Label Text Box “Age: ” none  识别控件的大小 结果 Attribute Control Value  customerName Text Box 30 Characters  customerCellNo Text Box 15 Characters  customerPackage Combo Box  Default  customerAge Text Box 2 Characters   识别框架窗口的标题和大小 结果 将显示客户材料框架窗口的标题是“Customer Details Form”. 此窗口的大小是 300 x 300 象素. 创建框架窗口 javax.swing 包: 包含 Jcomponent类 – 所有图形用户界面组件的基类 提供了组件类,如: JLabel, JTextField, JButton, JRadioButton, JList, 及 JComboBox 提供了容器类,如:JFrame, JPanel, 及 JApplet Swing组件的类层次结构: 所有组件继承大量的JComponent 类的功能,列表如下: 方法 描述  Graphics getGraphics() 返回帮助你在组件上画组件的图形内容  void setBackground(Color bg) 设置组件的背景颜色.  void setFont(Font f) 设置在组件中显示文本的字体  Graphics getGraphics() 返回帮助你在组件上画组件的图形内容  void setBackground(Color bg) 设置组件的背景颜色.  void setFont(Font f) 设置在组件中显示文本的字体  void setToolTipText(String t) 设置在组件中显示的工具箱文本  void setVisible(boolean b) 支持组件是否将是可见的  void setSize(int height, int width) 设置组件的高和宽  The JFrame class: 用构造符创建你应用的框架窗口 包含 setVisible(), setSize (),及 getContentPane() 方法 可用带EXIT_ON_CLOSE 选项的 setDefaultCloseOperation() 方法将在关闭框架窗口时退出应用 例子: JFrame swingFrame = new JFrame ("Swing Frame"); swingFrame.setDefaultCloseOperation(EXIT_ON_CLOSE); JButton buttonObject = new JButton ("Swing Button"); swingFrame.getContentPane().add(buttonObject); swingFrame.setVisible(); swingFrame.setSize(200,200); 加入控件到框架窗口 JPanel 类 提供了加入组件到框架的更简单的方法 例子: JFrame swingFrame = new JFrame("Swing Frame"); swingFrame.setDefaultCloseOption(EXIT_ON_CLOSE); JButton button1 = new JButton("First Button"); JButton button2 = new JButton("Second Button"); JPanel panel=new JPanel(); panel.add(button1); panel.add(button2); swingFrame.getContentPane().add(panel); JLabel 类 创建标号控件的构造符 构造符取标号控件的标题为输入 JTextField 类 创建 textfield控件的构造符 构造符取textfield 控件的长度为输入 提供 getText() 和 setText() 方法 JList 类 创建带有一组值的列表框的构造符 setSelectionMode() 方法用于配置列表框 它提供了方法如:getSelectedValue(), getSelectedValues (), 及 setVisibleRowCount (int) JComboBox 类: 只允许选择单个元素 提供 setEditable()方法 动作 属性 类 变量  customerName JLabel JTextField labelCustName textCustName  customerCellNo JLabel JTextField labelCustCellNo textCustCellNo  customerPackage JLabel JComboBox labelCustPackage comboCustPackage  customerAge JLabel JTextField labelCustAge textCustAge  编码 Customer类 4、验证 保存、编译、及执行程序 四、指导性练习(45*2分钟) 1.P.1 1、问题陈述(接收用户的数据) 每当新商人加入CellGo,该商人的材料(如:商人的名、地址、电话号、及商人提供的服务)必须被记录下来。你需创建接收商人材料的用户界面。用户界面的功能说明如下: 对可存放地址字段的字符个数不应有限制. 界面应允许为商人选择多种服务. (提示:对接收商人地址使用文本域控件。商人提供诸如:“Free service charges”, “Gifts for mobiles bought”, 和 “10% discount on new mobiles bought”的服务) 2、问题分析 3、验证 五、小结(10分钟) 六.独立实践(90分钟) 布置学生进行独立实践2.MR.1、2.MR.2 根据完成情况进行少量讲解