《第七章java程序设计教案.docx》由会员分享,可在线阅读,更多相关《第七章java程序设计教案.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章java程序设计教案 课堂教学教案 教师姓名: * 课程名称:Java程序设计授课时数:2 第17次课 附录14 7.1 图形用户界面概述 ? 1. 图形用户界面的设计与实现 ?使用图形界面GUI (Graphics User Interface) ?字符界面采用命令行方式与用户交互。 ?图形界面用多种媒体显示信息,用直观、方便的GUI标准组件来接收命令。 ?控制权在用户(用户要由操作的主动权) ?界面与操作的风格一致性。 ?宽容(容错)性。 ?简洁与美观并重。 ?界面布局 ?界面元素 ?容器是用来组织其他界面成分和元素的单元。 ?可以形成容器的层次,构筑复杂结构 ?Window(Fra
2、me、Applet、Dialog ) ?组件是图形用户界面的基本单位,里面不再包含其他的成分。 ?GUI组件是图形用户界面标准化的结果。 ?GUI组件的作用是完成与用户的交互。 ?用户自定义成分 ?文字、图形、图象 ?不能像标准组件一样被系统识别和承认,只起装饰作用。 ?不能响应用户的动作,不具有交互功能。 7.2 用户自定义成分 ?Component类 可显示在屏幕上的图形对象,可与用户交互。 方法: add(PopupMenu popup) 加一弹出菜单 addFocusListener(FocusListener l)将发生在本组件上的事件注册给监听者,以进行事件处理。 setSize(
3、int width, int height) 设置组件尺寸 paint(Graphics g) 重画组件 setFont(Font f) 设置组件字体 setBackground(Color c) 设置组件背景色 setForeground(Color c) 设置组件前景色 ?paint和repaint 方法 某组件的paint()和update()为系统自动调用的有关图形绘制的方法,不可人为编程调用;但可编程重新定义其操作内容。 使用repaint()方法可以触发update()方法。 ?Font类 java.awt.Font 设计字体显示效果(创建字体对象) Font fn = new F
4、ont(String 字体,int 风格,int 字号); 字体:TimesRoman, Courier, Arial等 风格:三个常量 Font.PLAIN, Font.BOLD, Font.ITALIC 字号:字的大小(磅数) 使用字体对象如设置某组件当前使用的字体:setFont(Font fn) 获取组件当前使用的字体:getFont() ?Color类 构造函数1(设置颜色) Color c = new Color(int red, int green, int blue) 范围:0255 new Color(200,200,200) new Color(255,0,100) 构造函
5、数2 Color c = new Color(int rgb) 兰色:07 位绿色:815位红色:1623位 颜色常量值 public static final Color black Color.black , Color.blue , Color.gray , Color. red Color.white 7.3 Java的标准组件与事件处理 GUI(Graphics User Interface)是用图像的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便的向计算机系统发出指令、启动相关操作,并将系统运行的结果同样以图形的方式显式给用户的技术。 ?GUI概述 ?Java 2 SD
6、K提供了两个API工具包用于创建GUI,分别是awt包和swing包; ?AWT(Abstract Window Toolkit)被打包为java.awt,称作“重量级组件包”; ?Swing被打包为javax.swing,称作“轻量级组件包” ?AWT包 ?Abstract Windows Toolkit(抽象窗口工具) ?AWT类库中的各种操作是被定义为在一个并不存在的“抽象窗口”中进行的。 ?抽取不同软硬件平台中所实现的窗口的公共特性。 ?所设计的界面独立于具体的界面实现。 ?提供与机器无关的基本GUI标准组件。(后面将会详细介绍AWT组件)?选择类组件: 单选按钮、复选框、下拉选单、列
7、表框 ?文字处理类组件: 标签、文本框、编辑框 ?命令类组件: 按钮、工具栏、菜单 ?事件驱动编程方法 ?事件驱动(Event Driven)编程方法是随着GUI风行而产生的一种程序设计方法; ?其基本思想是通过“事件响应”对用户事件或系统事件进行处理响应; ?正常情况下,存在一个监听器监听事件的发生,一旦监听器监测到事件,即转入处理该事件; ?Java语言支持事件驱动模式,在Java 2类库中java.awt.event包含了可监听的事件类型,还可自定义事件类型监听; ?在Java中,事件驱动是通过Listener-Handler机制实现。 ?事件和事件处理 ?每一个键盘或鼠标操作会引发一个
8、系统预先定义好的事件,用户程序只需要编制代码定义每个特定事件发生时程序应做出何种响应即可。这些代码会在它们对应的事件发生时由系统自动调用,这就是图形用户界面中事件和事件响应的基本原理。 ?除了键盘和鼠标操作,系统的状态改变、标准图形界面元素等都可以引发事件,对这些事件分别定义处理代码。 ?Java的事件处理机制中引入了委托事件模型,不同的事件由不同的监听者处理。 ? ?Java的所有事件类和处理事件的监听者接口都定义在java.awt.event包中。 关于事件监听者放在第三次课的时候再详细介绍! 课堂教学教案 教师姓名:课程名称:Java程序设计授课时数:2 第15次课 附录15 7.4 标
9、签,按钮与动作事件 1标签(Label) Label prompt = new Label(“ “); Prompt.setText(“ “) Prompt.getText() 不是事件源不引发事件 2按钮(Button) Butt on enter = new Button(“ “) Enter.getLabel() /返回按钮标签字符串 Enter.setLabel(“)/设置按钮的标签字符串 按按钮引发事件:ActionEvent addActionListener()注册 在actionPerformed()中用getSource获取引发事件的按钮对象引用 button.setActi
10、onCommand(“ll“) textfield. setActionCommand(“dd“) if (e.getAc tionCommand() = “ll“) if (e. getActionCommand()=”dd”) 3动作事件(ActionEvent) ActionEvent只包含一个事件:ACTION_PERFORMED,能够触发该事件的动作包含: (1)点击按钮 (2)双击列表中的选项 (3)选择菜单项 (4)在文本框中输入回车 ActionEvent类的重要方法有: (1)Public String getActionCommand()返回由事件源.SetActionCo
11、mmand()设置的命令名按钮的缺省命令名是按钮的标签 (2)public int getModifiers() 返回ActionEvent类的静态常量:ALT_MASK, CTRL_MASK,SHIFT_MAST, META_MASK 7.5 文本框,文本区域与文本事件 1文本事件(TextEvent) 只有一个事件TEXT_VALUE_CHANGED,删除,键入,改变内容引发事件 2文本框与文本域(TextField与TextArea) TextArea textArea1 = new TextArea(10,45); TextField name = new TextField(“ “,
12、 8) getText() setText() setEditable(false) /不可编辑 isEditable()/是否可编辑 setEchoChar(*)/用回显 事件监听: textField1.addTextListener(this) textField1.addActionListener(this) 事件响应 textValueChanged(TextEvent e) actionPerformed(ActionEvent e) 7.6 单,复选按钮,列表与选择事件 1. 选择事件(ItemEvent) ItemEvent类包含一个事件:ITEMSTATE_CHANGED,
13、引发该事件的动作包括:(1)改变List对象选项的选中或不选中状态 (2)改变Choice对象选项的选中或不选中状态 (3)改变Checkbox对象的选中或不选中状态 (4)改变CheckboxMenuItem对象的选中或不选中状态 ItemEvent类的主要方法有: (1)getItemSelectable() (2)getItem() (3)getStateChange(): ItemEvent.SELECTED, ItemEvent.DESELECTED 2. 复选按钮(Checkbox) Checkbox backg = new Checkbox(“ “) Backg.setState
14、(true) 事件响应:backg.addItemListener() itemStateChange(ItemEvent e) (Checkbox)e.getItemSelectable().getState() (Checkbox)e.getItemSelectable().setState(false) 程序实例:参考PPT 3. 单选按钮组(CheckboxGroup) (1) 创建 style = new CheckboxGroup(); p = new Checkbox(“1”, true, style); b = new Checkbox(“2”,false, style); i = new Che ckbox(“3”, false, style); add(p); add(b); add(i); (2) 常用方法 (3) 事件响应 ItemEvent类的ITEMSTATE_CHANGED事件 程序实例:程序实例:参考PPT i 4. 下拉列表(Choice)