收藏 分享(赏)

第七章java程序设计教案.doc

上传人:dreamzhangning 文档编号:2728300 上传时间:2018-09-26 格式:DOC 页数:46 大小:665KB
下载 相关 举报
第七章java程序设计教案.doc_第1页
第1页 / 共46页
第七章java程序设计教案.doc_第2页
第2页 / 共46页
第七章java程序设计教案.doc_第3页
第3页 / 共46页
第七章java程序设计教案.doc_第4页
第4页 / 共46页
第七章java程序设计教案.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、1课堂教学教案教师姓名: * 课程名称:Java 程序设计 授课时数:2 第 17 次课授课课题7.1 图形用户界面概述7.2 用户自定义成分7.3 Java 的标准组件与事件处理教学目标第七章教学目标:掌握 Java 标准组建和 Swing 组件的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等,掌握多种布局方式,掌握窗口菜单和快捷菜单设计方式。理解委托事件处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的 Java 图形用户界面。熟悉在组件上绘图的方法。教学重点 JAVA 标准组件与事件处理教学难点 事件处理方法教学方法 案例教学,一体化课堂;板书+多媒

2、体。教学过程 详细教学过程参考附录14课堂小结本章开始接触图形界面,一开始学习需要记忆的知识很多,要求学生认真看书,必要的时候每节课上课之前抽出时间检查课本预习复习情况。课外拓展注意问题:有哪些事件源,在它们身上可能发生什么事件?如果要对事件做出响应,要将事件源注册给什么监听者?监听者接口包含哪些方法?各代表什么事件处理程序?作业布置 课本第七章习题 7-1,7-3.补充习题7-1 什么是组件?组件类与普通类有什么不同?【答】组件是构成图形用户界面的基本成分和核心元素;组件是具有以下特性的对象:运行时可见,能拥有并管理其他组件,在窗口中可操纵,可获得输入焦点等。组件类 Component 是一

3、个抽象类,是 AWT 组件类层次结构的根类,它提供对组件操作的通用方法。7-2 设计 Windows 应用程序的图形用户界面需要哪些基本知识?【答】需要掌握 Java 组件的使用方法,理解委托事件处理模型,掌握多种2布局方式。7-3 什么是容器组件?它有什么特点?Java 提供了哪些容器组件?【答】容器组件是一种能够容纳其他组件的特殊组件。特点:能容纳其他组件,并在其可视区域内显示这些组件。Java 提供了窗口(window)和面板(panel)两种容器。7-4 窗口与对话框有什么不同?框架与面板有什么不同?【答】对话框是窗口类的子类,对话框也是一种可移动的窗口,不能作为应用程序的主窗口,它依

4、赖于一个框架窗口而存在,当框架窗口关闭时,对话框也关闭。框架类是一种带标题栏并且可以改变大小的窗口;它是窗口类的子类,所以它可以独立存在,可被移动,可被最大化和最小化,有标题栏、边框、可添加菜单栏;而面板不能独立存在,必须包含在另一个容器里,面板没有标题,没有边框,不可添加菜单栏。7-5 什么是事件?什么是事件源?事件处理程序写在哪里?【答】事件是指一个状态的改变,或者一个活动的发生。产生事件的组件称为事件源。事件处理程序写在事件监听器接口中声明的方法中。如:单击事件的事件处理程序由 ActionListener 接口中的 actionPerformed()方法实现。7-6 如何理解 Wind

5、ows 应用程序的图形用户界面是事件驱动的?【答】一个组件的多个事件之间,多个组件的多个事件之间,其事件处理方法的执行次序是有规律的:1.不同组件的事件或同一组件的不同事件具有约定的执行次序。2.各组件的事件处理方法是否执行以及执行次序,取决于用户操作。3.在一个事件处理方法中,程序按照语句的书写次序顺序执行。34附录 147.1 图形用户界面概述 1. 图形用户界面的设计与实现 使用图形界面GUI (Graphics User Interface) 字符界面采用命令行方式与用户交互。 图形界面用多种媒体显示信息,用直观、方便的GUI标准组件来接收命令。 控制权在用户(用户要由操作的主动权)

6、界面与操作的风格一致性。 宽容(容错)性。 简洁与美观并重。 界面布局 界面元素 容器是用来组织其他界面成分和元素的单元。 可以形成容器的层次,构筑复杂结构 Window( Frame、Applet、Dialog ) 组件是图形用户界面的基本单位,里面不再包含其他的成分。 GUI 组件是图形用户界面标准化的结果。 GUI 组件的作用是完成与用户的交互。 用户自定义成分 文字、图形、图象 不能像标准组件一样被系统识别和承认,只起装饰作用。 不能响应用户的动作,不具有交互功能。7.2 用户自定义成分 Component类可显示在屏幕上的图形对象,可与用户交互。方法:add(PopupMenu po

7、pup) 加一弹出菜单addFocusListener(FocusListener l)将发生在本组件上的事件注册给监听者,以进行事件处理。5setSize(int width, int height) 设置组件尺寸paint(Graphics g) 重画组件setFont(Font f) 设置组件字体setBackground(Color c) 设置组件背景色setForeground(Color c) 设置组件前景色 paint和repaint 方法某组件的paint()和 update()为系统自动调用的有关图形绘制的方法,不可人为编程调用;但可编程重新定义其操作内容。使用repaint

8、()方法可以触发 update()方法。 Font类java.awt.Font 设计字体显示效果(创建字体对象)Font fn = new Font(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, in

9、t blue) 范围 :0255new Color(200,200,200)new Color(255,0,100)构造函数2Color 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)是用图像的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便的向

10、计算机系统发出指令、启动相关操作,并将系统运行的结果同样以图形的方式显式给用户的技术。 GUI概述 Java 2 SDK 提供了两个 API 工具包用于创建 GUI,分别是 awt 包和 swing 包; AWT(Abstract Window Toolkit)被打包为 java.awt,称作“重量级组件包” ;6 Swing 被打包为 javax.swing,称作“轻量级组件包” AWT包 Abstract Windows Toolkit(抽象窗口工具) AWT 类库中的各种操作是被定义为在一个并不存在的“抽象窗口”中进行的。 抽取不同软硬件平台中所实现的窗口的公共特性。 所设计的界面独立于

11、具体的界面实现 。 提供与机器无关的基本 GUI 标准组件。 (后面将会详细介绍 AWT 组件) 选择类组件:单选按钮、复选框、下拉选单、列表框 文字处理类组件:标签、文本框、编辑框 命令类组件:按钮、工具栏、菜单7 事件驱动编程方法 事件驱动(Event Driven)编程方法是随着GUI风行而产生的一种程序设计方法; 其基本思想是通过“事件响应”对用户事件或系统事件进行处理响应; 正常情况下,存在一个监听器监听事件的发生,一旦监听器监测到事件,即转入处理该事件; Java语言支持事件驱动模式,在Java 2类库中java.awt.event包含了可监听的事件类型,还可自定义事件类型监听;

12、在Java 中,事件驱动是通过Listener-Handler机制实现。 事件和事件处理 每一个键盘或鼠标操作会引发一个系统预先定义好的事件,用户程序只需要编制代码定义每个特定事件发生时程序应做出何种响应即可。这些代码会在它们对应的事件发生时由系统自动调用,这就是图形用户界面中事件和事件响应的基本原理。 除了键盘和鼠标操作,系统的状态改变、标准图形界面元素等都可以引发事件,对这些事件分别定义处理代码。 Java的事件处理机制中引入了委托事件模型,不同的事件由不同的监听者处理。8 Java的所有事件类和处理事件的监听者接口都定义在java.awt.event包中。关于事件监听者放在第三次课的时候

13、再详细介绍!9课堂教学教案教师姓名: 课程名称:Java 程序设计 授课时数:2 第 15 次课授课课题7.4 标签、按钮与动作事件7.5 文本框、文本区域与文本事件7.6 单选按钮、复选框、列表框与选择事件教学目标 掌握 Java 标准组建和 Swing 组件的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等。教学重点 各种控件在实际问题中的使用教学难点 动作触发事件教学方法 案例教学,一体化课堂;板书+多媒体。教学过程 详细教学过程参考附录 15课堂小结本节课重点在于实例的使用,因为同学们在学习 web 程序设计中也谈到了类似的控件,学习起来比较轻松。课外拓展补充习题:用

14、户登录窗口。import java.awt.*;public class LoginFrame extends Framepublic LoginFrame()super(“用户登录“); /设置框架窗口标题this.setSize(200,120); /设置框架的尺寸this.setLocation(300,240); /设置框架显示在屏幕的位置this.setBackground(Color.lightGray); /设置框架的背景颜色this.setLayout(new FlowLayout(); /设置框架为流布局,居中this.add(new Label(“userid“); /创建

15、标签,添加到框架上 this.add(new TextField(“user1“,10); /创建文本行this.add(new Label(“password“);this.add(new TextField(10); /创建 20 列的文本行this.add(new Button(“Ok“); /创建按钮this.add(new Button(“Cancel“);this.setVisible(true); /显示框架窗口,必须在添加组件后public static void main(String arg) new LoginFrame();10作业布置 课本第七章习题 7-7,7-10

16、.补充习题7-8 设计图形用户界面的 Java 应用程序,需要用到的组件分别在哪些包中?事件分别在哪些包中?【答】 组件在 java.awt 包中,事件在 java.awt.Event 和javax.swing.Event 包中。7-9 按钮组件能够注册哪些事件监听器?文本行组件能够注册哪些事件监听器?文本行和文本区组件能够响应的事件有什么不同?【答】按钮组件能够注册的事件监听器有ActionListener、ComponentListener、ItemListener 等。文本行组件能够注册的事件监听器有 ActionListener、ComponentListener、TextListen

17、er等。文本行是单行文本编辑框,用于编辑一行字符串,文本区是一个多行文本编辑框,它的基本操作与文本行类似,增加的是滚动条的显示和操作。7-13 窗口上有哪些事件?每种事件在什么时候被触发?这些事件的触发次序是怎样的?【答】窗口上的事件有:windowOPend,windowActivated,windowDeactivated,windowIconified,windowDeiconified,windowClosing,windowClosed。每种事件的触发分别在:打开窗口、激活窗口、窗口失去焦点、窗口最小化、窗口恢复、关闭窗口时、关闭窗口后。触发次序与前述书写顺序相同。7-14 Java

18、 有几种关闭窗口处理方式?分别是怎样的?分别适用于哪些窗口组件?【答】Java 有 2 种关闭窗口处理方式。第一种是设置窗口关闭时隐藏方式的setDefaultCloseOperation()方法,第二种是写窗口关闭事件处理程序即实现 WindowListener 接口中的 windowClosing()方法。第一种适用于 JFrame和 JDialog 等窗口组件,第二种适用于 Frame 和 Dialog 等窗口组件。7-15 Java 的布局方式有什么特点?Java 提供了哪些布局方式?【答】特点:Java 采用布局管理器对图形用户界面中的组件进行相对定位并自动改变组件大小,合理分布组件

19、格局。当窗口大小改变时,各组件自身的大小将随之改变,而组件之间的相对位置不变,这样组件一般不会被覆盖。Java 提供了 FlowLayout、BorderLayout、GridLayout 三种布局布局管理器类。7-16 复选框和单选按钮有什么不同?分别用于什么场合?在事件处理程序中,怎样知道哪个复选框或单选按钮是选中的?【答】在同一组单选按钮中,任何时候最多只能有一个被选择,一旦选中一个单选按钮,则前一个选中的单选按钮会自动变为未选中状态。而复选框可多个同时被选中,且每个复选框选中与否的状态改变,并不影响其他复选框的状态。场合:单选按钮用来显示一组互斥的选择,复选框用来显示一组不互斥的选择。

20、在事件处理程序中,用注册选择事件监听器的方法来判断复选框或单选按钮是否被选中。说明文本框和标签之间的区别?答:文本框定义了一个单行条形文本区,可以输出任何基于文本的信息,11也可以接受用户的输入,并有事件响应。标签可以显示一行静态的文本,它只起信息说明作用,不接受用户的输入,无事件响应。试列举 Java 中常用的基本控制组件。如果有二到三种取值可能,采用哪种组件合适?如果取值的可能大于 5 种,采用哪种组件合适? 答:基本控制组件是图形用户界面的最小单位之一,它里面不再包含其他成分。基本控制组件的作用是完成与用户的一次交互。目前常用的基本控制组件有:标签(Label) 、文本编辑区(TextF

21、ield、TextArea ) 、按钮(Button ) 、复选框(Checkbox) 、单选按钮( CheckboxGroup、Checkbox ) 、下拉列表(List或 Choice) 。如果这两到三种取值是互斥的话,采用单选按钮表示比较合适,否则采用复选按钮表示;如果 5 种以上的取值只能多选一的话,采用 Choice 下拉列表,否则采用 List 下拉列表。 什么是选择事件?可能产生选择事件的 GUI 组件有哪些?答:选择事件是当选择项的选中状态发生变化时所引起的事件。可能产生选择事件的 GUI 组件有下拉列表类(Choice) 、列表类(List)复选按钮类(CheckBox) 、

22、检测盒菜单项(CheckboxMenuItem) 设计一个菜单的步骤是什么?答:设计菜单的步骤是: 用 MenuBar 构造函数构造菜单栏对象。 用 Menu 构造函数构造菜单对象。 用 MenuItem 构造函数构造菜单项对象。 用 Menu 类的 add 方法将菜单项加入菜单中。 用 MenuBar 类的 add 方法将菜单加菜单栏中。 用 Frame 类的 setMenuBar 方法将菜单栏加入窗口中。5有模式的对话框最突出的特点是什么?如果一个对话框的目的在于警告或提醒用户(例如删除数据库记录的确认) ,这个对话框应该是有模式的还是无模式的?答:有模式对话框是指打开后必须作出响应的对话

23、框。如果一个对话框的目的在于警告或提醒用户,应该为有模式的对话框。12附录 157.4 标签,按钮与动作事件1 标签(Label)Label prompt = new Label(“ “);Prompt.setText(“ “)Prompt.getText()不是事件源不引发事件2 按钮(Button)Button enter = new Button(“ “)Enter.getLabel() /返回按钮标签字符串Enter.setLabel(“ “) / 设置按钮的标签字符串按按钮引发事件:ActionEventaddActionListener() 注册在 actionPerformed(

24、)中用 getSource 获取引发事件的按钮对象引用button.setActionCommand(“ll“) textfield. setActionCommand(“dd“)if (e.getActionCommand() = “ll“)if (e. getActionCommand()=”dd”)3 动作事件(ActionEvent)ActionEvent 只包含一个事件:ACTION_PERFORMED,能够触发该事件的动作包含:(1 ) 点击按钮(2 ) 双击列表中的选项(3 ) 选择菜单项(4 ) 在文本框中输入回车ActionEvent 类的重要方法有:(1 ) Public

25、String getActionCommand()返回由事件源.SetActionCommand()设置的命令名按钮的缺省命令名是按钮的标签(2 ) public int getModifiers()返回 ActionEvent 类的静态常量:ALT_MASK, CTRL_MASK,SHIFT_MAST, META_MASK7.5 文本框,文本区域与文本事件1 文本事件(TextEvent )只有一个事件 TEXT_VALUE_CHANGED,删除,键入,改变内容引发事件2 文本框与文本域(TextField 与 TextArea)TextArea textArea1 = new TextAr

26、ea(10,45);TextField name = new TextField(“ “, 8)getText()setText()setEditable(false) /不可编辑isEditable() /是否可编辑setEchoChar(*) /用回显事件监听:textField1.addTextListener(this)13textField1.addActionListener(this)事件响应textValueChanged(TextEvent e)actionPerformed(ActionEvent e)7.6 单,复选按钮,列表与选择事件1. 选择事件(ItemEvent)

27、ItemEvent 类包含一个事件: ITEMSTATE_CHANGED,引发该事件的动作包括:(1 ) 改变 List 对象选项的选中或不选中状态(2 ) 改变 Choice 对象选项的选中或不选中状态(3 ) 改变 Checkbox 对象的选中或不选中状态(4 ) 改变 CheckboxMenuItem 对象的选中或不选中状态ItemEvent 类的主要方法有:(1 ) getItemSelectable()(2 ) getItem()(3 ) getStateChange(): ItemEvent.SELECTED,ItemEvent.DESELECTED2. 复选按钮(Checkbox

28、)Checkbox backg = new Checkbox(“ “)Backg.setState(true)事件响应:backg.addItemListener()itemStateChange(ItemEvent e)(Checkbox)e.getItemSelectable().getState()(Checkbox)e.getItemSelectable().setState(false)程序实例:参考 PPT3. 单选按钮组(CheckboxGroup)(1) 创建style = new CheckboxGroup();p = new Checkbox(“1”, true, styl

29、e);b = new Checkbox(“2”,false, style);i = new Checkbox(“3”, false, style);add(p);add(b);add(i);(2) 常用方法(3) 事件响应ItemEvent 类的 ITEMSTATE_CHANGED 事件程序实例:程序实例:参考 PPTi4. 下拉列表(Choice)14(1 ) 创建Choice size = new Choice();size.add(“10”);size.add(“14”);size.add(“18”);(2 ) 常用方法getSelectedIndex();select(int inde

30、x);select(String item);add(String item);insert(String item, int index);remove(int index);remove(String item);(3 ) 事件响应ItemEvent 类的选择事件size.addItemListener();程序实例:程序实例:参考 PPT5. 列表(List)(1 ) 创建(2 )常用方法(3 )事件响应单击:ItemEvent 类的选择事件双击:ActionEvent 类的动作事件程序实例:程序实例:参考 PPT15课堂教学教案教师姓名: 课程名称:Java 程序设计 授课时数:2 第

31、 16 次课授课课题7.7 设计事件处理专用类7.8 滚动条与调整事件7.9 画布与鼠标、键盘事件教学目标 理解委托事件处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的 Java 图形用户界面。教学重点 设计出能够响应事件的 JAVA 图形用户界面教学难点 时间监听者接口的实现教学方法 案例教学,一体化课堂;板书+多媒体。教学过程 详细过程参考附录16课堂小结 本节内容重点在于掌握监听接口的实现方法。课外拓展 本节课内容量较大,不再扩展作业布置 课本第七章习题 7-13,7-14.补充习题7-10 是否可以对一个组件注册多个事件监听器?【答】可以。如果一个组件需要响应多个事

32、件,则可以注册多个事件监听器。7-11 一个事件监听器是否可以处理多个组件上产生的操作?【答】一个事件监听器对应一个事件处理方法,如果多个组件产生的操作相同,则可以注册同一个事件监听器。7-12 在事件处理方法中,怎样区分不同的事件源组件?【答】事件接口中的所有事件处理方法,都采用相应的事件对象 e 作为参数,用 e.getSource()方法可返回产生当前事件对象的事件源组件。编程 1 如图所示。标签 1 的字号比文本框的字号大,当单击按钮时若输入文框中的数正确,则标签 2 文本显示正确,否则显示不正确。16参考代码如下:import java.awt.*;import java.awt.e

33、vent.*;public class program1 extends Frame implements ActionListenerLabel lb1=new Label(“6+9=“);Label lb2=new Label(“ “);TextField tf=new TextField(3);Button bt=new Button(“OK“);public program1()lb1.setFont(new Font(“Arial“,Font.PLAIN,24);setLayout(new FlowLayout();add(lb1);add(tf);add(lb2);add(bt);

34、bt.addActionListener(this);setSize(150,200);setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=bt)String str=tf.getText();if(str.equals(“15“)lb2.setText(“正确“);elselb2.setText(“不正确“);public static void main(String args)new program1();6+9= 15正确 OK标签 1标签 2文本框1718附录 177.7 设计事件处理

35、专用类首先回顾第一次课关于事件监听者的讲述。事件及处理机制用户操作GUI组件时会引发各种事件。事件 :描述“发生了什么事情”的对象。 系统根据用户的操作构造出相应事件类的对象。事件源:事件的产生地。事件处理程序:是一个方法,它接收一个事件对象,分析它,并完成对该事件的处理。每个事件有一个相应的监听者接口,它规定了能够接收(并处理)该类事件的方法的规范。监听者:实现了监听者接口的类,它包含有事件处理程序。编程人员要为事件源指定监听者对象(即指定处理某种事件的事件处理程序监听者对象方法)。事件类: ActionEvent 类 :存放这个事件的细节。该类的方法有: getSource() 返回事件发

36、生的对象(名) getActionCommand() 返回按扭名。 ActionListener 接口public void actionPerformed(ActionEvent e)窗口事件(适配器说明)关闭窗口框时引发 WindowEvent事件委托: addWindowListener(new Wclose();定义监听者类class Wclose implements WindowListener 19public void windowClosing(WindowEvent e) System.exit(0); 其他方法 ActionEvent 事件引发原因:单击按扭,双击列表框中

37、选项,选择菜单项,文本框中的回车事件监听接口:ActionListener接口方法: actionPerformed(ActionEvent e)组件注册该事件方法: addActionListener(监听者对象) TextEvent 事件引发原因:文本框或文本区域内容改变事件监听接口:TextListener接口方法: textValueChanged(TextEvent e)组件注册该事件方法: addTextListener(监听者对象) ItemEvent 事件引发原因:改变列表框中的选中项改变复选框选中状态改变下拉选单的选中项事件监听接口:ItemListener接口方法:item

38、StateChanged(ItemEvent e)组件注册该事件方法:addItemListener(监听者) TextEvent 事件引发原因:当组件(如文本框)文本改变时引发事件监听接口:TextListener接口方法: textValueChanged(TextEvent e)组件注册该事件方法: addTextListener7.8 滚动条与调整事件 AdjustmentEvent 事件引发原因:操作滚动条改变滑块位置事件监听接口:AdjustmentListener接口方法: adjustmentValueChanged(AdjustmentEvent e)组件注册该事件方法: a

39、ddAdjustmentListener(监听者) 2 滚动条(1)创建(2)常用方法(3)事件响应207.9 画布与键盘鼠标事件 KeyEvent 事件引发原因:敲完键(KEY-TYPED)按下键 (KEY-PRESSED)释放键 (KEY-RELEASE)事件监听接口:KeyListener接口方法:keyPressed(KeyEvent e) 键已被按下时调用keyReleased(KeyEvent e) 键已被释放时调用keyTyped(KeyEvent e) 键已被敲完时调用KeyEvent方法:char ch = e.getKeyChar(); 事件监听适配器(抽象类)KeyAda

40、pter组件注册该事件方法: addKeyListener(监听者) MouseEvent 事件引发原因: (鼠标作用在一个组件上)鼠标事件:鼠标键按下,鼠标键抬起,单击鼠标 ,鼠标光标进入一个组件,鼠标光标离开一个组件。鼠标移动事件:鼠标移动,鼠标拖动 鼠标事件监听接口1:MouseListener 接受鼠标事件该接口定义的方法:mouseClicked(MouseEvent e) mouseEntered(MouseEvent e) 鼠标光标进入一个组件mouseExited(MouseEvent e) 鼠标光标离开一个组件鼠标事件监听适配器(抽象类)MouseAdapter鼠标事件监听接

41、口2MouseMotionListener 接受鼠标移动事件该接口方法:mouseMoved(MouseEvent e) 鼠标光标在组件上移动mouseDragged(MouseEvent e)用鼠标拖动一个组件鼠标移动事件监听适配器 MouseMotionAdapter组件注册鼠标事件方法:add MouseListener(监听者) 组件注册鼠标移动事件方法:add MouseMotionListener(监听者) MouseEvent方法e.getClickCount() =1 单击 =2 双击Point e.getPoint() 取鼠标光标位置int e.getX() int e.ge

42、tY() 取鼠标光标位置e.getModifiers() = e.BUTTON1_MASK 鼠标左键= e.BUTTON3_MASK 鼠标右键21课堂教学教案教师姓名: 课程名称:Java 程序设计 授课时数:2 第 18 次课授课课题 布局设计教学目标 掌握多种布局方式教学重点 BorderLayout 布局管理器和 GridLayout 布局管理器的使用教学难点 CardLayout 布局管理器和 GridLayout 布局管理器的使用教学方法 案例教学,一体化课堂;板书+多媒体。教学过程 详细教学过程参考附录 17课堂小结 通过布局管理器的使用能够更好的对页面进行规划布局课外拓展设计一个

43、文本编辑器。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class EditorJFrame extends JFrame implements ActionListener, MouseListener private JComboBox combox_name, combox_size; /字体字号组合框private JCheckBox checkb_bold, checkb_italic; /粗体斜体复选框private JRadioButton radiob_color; /颜色单选按钮p

44、rivate JTextArea text; /文本区 private Color color; /text 的当前文本色private JPopupMenu popupmenu; /快捷菜单public EditorJFrame() super(“文本编辑器“); /默认 BorderLayout 布局Dimension dim = getToolkit().getScreenSize(); /获得屏幕分辨率this.setBounds(dim.width/4,dim.height/4,dim.width/2, dim.height/2); /窗口居中this.setDefaultClose

45、Operation(EXIT_ON_CLOSE); /窗口关时,程序结束text = new JTextArea(“Welcome 欢迎“);text.addMouseListener(this); /文本区注册鼠标事件监听器this.getContentPane().add(new JScrollPane(text); /文本区添加到滚动窗格,滚动窗格添加到框架内容窗格中部22JToolBar toolbar=new JToolBar();/创建工具栏,默认水平方向this.getContentPane().add(toolbar,“North“); /工具栏添加到框架内容窗格北部Graph

46、icsEnvironment ge=GraphicsEnvironment. getLocalGraphicsEnvironment();String fontsName=ge.getAvailableFontFamilyNames(); /获得系统字体combox_name = new JComboBox(fontsName); /组合框显示系统字体combox_name.addActionListener(this); /组合框注册单击事件监听器toolbar.add(combox_name);String sizestr=“20“,“30“,“40“,“50“,“60“,“70“;com

47、box_size = new JComboBox(sizestr); /字号组合框combox_size.setEditable(true); /设置组合框可编辑combox_size.addActionListener(this); /组合框注册单击事件监听器toolbar.add(combox_size);checkb_bold = new JCheckBox(“粗体“); /字形复选框toolbar.add(checkb_bold);checkb_bold.addActionListener(this); /复选框注册单击事件监听器checkb_italic = new JCheckBo

48、x(“斜体“);toolbar.add(checkb_italic);checkb_italic.addActionListener(this);String colorstr=“红“,“绿“,“蓝“;ButtonGroup bgroup_color = new ButtonGroup(); /按钮组radiob_color = new JRadioButtoncolorstr.length; /颜色单选按钮数组for (int i=0; i120) /字号超出指定范围时,抛出异常对象throw new Exception(“SizeException“);java.awt.Font font = text.getFont(); int style = font.getStyle(); /获得字形if (e.getSource()=checkb_bold) /粗体style = style 1; /整数的位运算,异或if (e.getSource()=checkb_italic) /斜体st

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报