[2017年整理]任务22 主程序设计

上传人:油条 文档编号:48587048 上传时间:2018-07-17 格式:PPT 页数:24 大小:120KB
返回 下载 相关 举报
[2017年整理]任务22 主程序设计_第1页
第1页 / 共24页
[2017年整理]任务22 主程序设计_第2页
第2页 / 共24页
[2017年整理]任务22 主程序设计_第3页
第3页 / 共24页
[2017年整理]任务22 主程序设计_第4页
第4页 / 共24页
[2017年整理]任务22 主程序设计_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《[2017年整理]任务22 主程序设计》由会员分享,可在线阅读,更多相关《[2017年整理]任务22 主程序设计(24页珍藏版)》请在金锄头文库上搜索。

1、任务22 主程序设计教学目标 任务教学目标l掌握容器概念l掌握框架的使用方法l了解菜单条、菜单、菜单项的基本概念l理解菜单条、菜单、菜单项的关系l掌握菜单组件的使用方法和事件处理机制任务lSwing框架(JFame)的基本概念lSwing框架(JFame)的使用lSwing菜单简介l菜单的设计与实现1.Swing框架(JFrame)Jframe简介lJava中的顶层窗口(即那些没有包含在其他窗口中的 窗口)被称作框架。l框架是一种容器,允许你把其他组件添加到它里面 ,把它们组织起来,呈现给用户。l前面的课程介绍了Swing中一些常用控件,这些控件 并不能孤立存在,而是必须加到像JFrame这样

2、的“容 器”中。在Java中,用来存放控件的组件被称之为容 器。1.Swing框架(JFrame)Jframe的构造方法lJFrame() 创建无标题窗口。lJFrame(String s) 创建标题名字是字符串s的 窗口。1.Swing框架(JFrame)JFrame的常用方法lsetTitle(String title) 设置JFrame标题文本lget/ setSize():获取/设置JFrame的大小。ladd(Object a):将组件添加到JFrame中。ldispose()关闭JFrame并回收用于创建窗口的 任何资源。lsetVisible(boolean b)设置JFrame

3、的可见性。lsetLocation(x,y) 设置JFrame在屏幕的位置。1.Swing框架(JFrame)JFrame的常用属性ltitle: String型,设置JFrame标题中的文本l alwayOnTop:布尔型,设置JFrame是否位于最 顶部。lresizable:布尔型,设置是否可以改变JFrame大 小。1.Swing框架(JFrame)JFrame的事件与事件处理事件类型是: WindowEvent 接口名字: WindowEventListener 窗口事件总共有7种: windowActivated(); 窗口被激活。 windowDeactivated(); 窗口失

4、活(其他窗口激活)。 windowClosed(); 窗口已被关闭。 windowClosing(); 窗口正被关闭。 windowOpened(); 窗口已被打开。 windowIconified(); 窗口被最小化为图标。 windowDeiconified(); 窗口由图标恢复。 Swing框架(JFame)的使用窗口事件实例窗口事件发生顺序: 1.窗口打开 windowActivated()被调用 windowOpened()被调用 2.窗口关闭 windowClosing()被调用 windowDeactivated()被调用 windowClosed()被调用 3.窗口最小化 wi

5、ndowIconified()被调用 windowDeactivated()被调用 4.窗口恢复 windowDeiconified()被调用 windowActivated()被调用实例 WindowEventDemo.java Swing框架(JFame)的使用适配器实例l在例WindowEventDemo.java里的7个窗口事件并不总是全部使用 ,有时候只使用其中几个事件,这时如何处理?l使用的是WindowAdapter类,不使用的事件就不需要写出来了,就 可以解以上提出的问题。 适配器是一个类而不是接口,因而处理事件的类只能继承一个适配 器。当该类需要处理多种事件时,通过继承适配器

6、类的方式是不行 的。但可以基于适配器类,用内嵌类(Inner Class)的方法来处理 这种情况。l 一个使用WindowAdapter类的窗口事件例 子源程序( WindowAdapterDemo.java) 请注意: 本例使用的是WindowAdapter类,没有使用的3个窗 口事件就不需要写出来。这里使用的是extends 关键字, class WinLis extends WindowAdapter(继承WindowAdapter类), WinLis 类是一个内部类。2.Swing框架(JFame)的使用给 框架定位-显示在屏幕中央l调用Toolkit类的静态方法getDefaultT

7、oolkit()得到一个Toolkit对象。l如:Toolkit kit = Toolkit.getDefaultToolkit();l然后调用getScreenSize()方法把屏幕尺寸作为一个Dimension对象返回 。l如: Dimension screenSize = kit.getScreenSize();lDimension对象screenSize使用公有的实例变量with和height存储高和宽 。l如:int screenHeight = screenSize.height;l int screenWidth = screenSize.width;l显示在屏幕中央l setS

8、ize(screenWidth / 2, screenHeight / 2);l setLocation(screenWidth / 4, screenHeight / 4);实例 CenteredFrameTest.java 2.Swing框架(JFame)的使用可视化实例l例22-1框架的使用。(DemoJFrame.java)l演示创建过程一、Swing菜单简介1、菜单的组成1)菜单条(JMenuBar)2)菜单(JMenu)3)菜单项一、Swing菜单简介2、菜单条(JMenuBar)用来创建一个水平菜单栏,它是菜单和菜 单项的容器。 3、菜单(JMenu)可以连接到JMenuBar或

9、者其他JMenu对象 上的菜单。1)顶层菜单:直接添加到JMenuBar上的菜 单。2)子菜单:连接到其他JMenu对象上的菜 单。一、Swing菜单简介4、菜单项Swing菜单中最小的单位。根据用途不同, 菜单项可以分成: 1)一般菜单项( JMenuItem ):用来执行某项 操作或激活对话框。 2)单选菜单项(JRadioButtonMenuItem): 实现单选按钮功能的菜单项。 3)复选菜单项(JCheckBoxMenuItem):实 现复选按钮功能的菜单项。一、Swing菜单简介5、菜单各个组成成分关系示意图JMenuBar顶层菜单1(JMenu)顶层菜单2(JMenu)顶层菜单n

10、(JMenu)菜单项1菜单项n菜单项1子菜单(JMenu)菜单项1菜单项n菜单项n1、具体要求 1)通过对【编辑(E)】菜单中菜单 项的操作,可以分别实现对班级和 姓名标签字体颜色的设置。 2)通过对【文件(F)】菜单中菜单 项的操作,可以分别实现还原班级 标签和姓名标签字体颜色为黑色, 以及退出程序的功能。 3)通过对【显示(S)】菜单中菜单 项的操作,可以分别实现是否显示 班级或姓名标签的功能。 二、菜单的设计与实现 【例23.1】在NetBeans中使用菜单和JLabel组件设计一个 可以改变班级和姓名标签字体颜色的图形用户界面程序。JFrmMenu.java2、实现步骤1)准备阶段和界

11、面设计Part1 见实验指导书(一 )准备工作 和(二 )界面设计1、2 、3 ) 内容:添加JLabel、JMenuBar和JButtonGroup组件,设计【文件 】菜单外观(mnemonic属性 )2)界面设计Part2:(见实验指导书(二)界面设计4 )内容:设计【编辑】菜单外观(buttonGroup属性 、accelerator属性 )3)界面设计Part3(见实验指导书(二)界面设计5)内容: 设计【显示】菜单外观( selected属性 )4)添加事件处理代码(见实验指导书(三)添加事件处理代码)内容;实现【文件】菜单、【编辑】菜单和【显示】菜单功能(引用 java.lang.

12、Color类 ,actionPerformed和itemStateChanged方法)菜单外观设计2、设计和实现菜单功能的步骤。1、添加JMenuBar到窗体上。 2、根据需要添加若干个顶层菜单(JMenu)到 JMenuBar上。 3、设置JMenu的相关属性。 4、根据需要添加若干个菜单项或子菜单到JMenu上。 5、设置菜单项或子菜单相关属性。 6、为菜单项设置快捷键或加速器。 7、为菜单项设置图标。 8、添加菜单项的事件处理代码。作用:菜单项中带有下划线的字母,可以通过Alt+该字母的方 式选择该菜单项。 设置方法:在菜单项的mnemonic属性 中设置。作用:可在不打开菜单的情况下选

13、择设置了加速 器的菜单项。 设置方法:在菜单项的accelerator属性中设置。l3、一般菜单项和单选菜单项的鼠标单击事件 处理方法是actionPerformed(),复选菜单 项的事件处理方法是itemStateChange() 。例22-2 主程序界面设计l创建如图所示的窗口l在窗口上添加一个菜单栏(jMenuBar)l在菜单栏中添加三个菜单l在三个菜单中分别添加实现相应功能的菜单 项l菜单项的相应事件处理在后续任务中讲解作业l实现窗口显示在屏幕中央。lsetVisible()方法的作用是设置组件是否可见 ,在窗口上添加一个复选框,使得选中这个 复选框时隐藏窗口。l实现主窗口调用子窗口的程序,要求:在主 窗口添加两个按钮(打开,关闭),当单击“ 打开”按钮时,显示子窗口;当单击“关闭”按 钮时,关闭子窗口作业l请设计一个与Windows的记事本程序相同的 菜单。(注:此处只要求将外观设计出来, 不用实现具体功能。)l菜单是由哪几个部分组成的?各个组成部分 之间的关系是怎样的?l如何实现单选菜单项的单选效果?l快捷键和加速器的区别是什么?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号