![Java高级程序设计(第二版)课件第4章 GUI程序设计_第1页](http://file4.renrendoc.com/view11/M03/0E/01/wKhkGWWKuIuABE8ZAABPQYxYQgs265.jpg)
![Java高级程序设计(第二版)课件第4章 GUI程序设计_第2页](http://file4.renrendoc.com/view11/M03/0E/01/wKhkGWWKuIuABE8ZAABPQYxYQgs2652.jpg)
![Java高级程序设计(第二版)课件第4章 GUI程序设计_第3页](http://file4.renrendoc.com/view11/M03/0E/01/wKhkGWWKuIuABE8ZAABPQYxYQgs2653.jpg)
![Java高级程序设计(第二版)课件第4章 GUI程序设计_第4页](http://file4.renrendoc.com/view11/M03/0E/01/wKhkGWWKuIuABE8ZAABPQYxYQgs2654.jpg)
![Java高级程序设计(第二版)课件第4章 GUI程序设计_第5页](http://file4.renrendoc.com/view11/M03/0E/01/wKhkGWWKuIuABE8ZAABPQYxYQgs2655.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java高级程序设计第4章GUI程序设计第4章GUI程序设计4.1 认识GUI程序4.2 容器与布局4.3 GUI基本元素4.4 菜单与工具栏4.5 对话框4.6 表格本章目标
创建图形用户界面实现界面与用户的交互使用Swing常用组件本章任务任务1登陆窗体任务2登陆验证功能任务3图形用户界面的四则运算任务4文本复制任务5字体选择器任务6简单记事本界面任务7确认退出对话框任务8使用表格4.1 认识GUI程序任务1登陆窗体编程实现一个登陆窗体,这在信息管理系统中是及其常见的。效果如图所示。知识点:Swing包、创建窗体一、Swing包
GUI,即图形用户界面(GraphicsUserInterface),它是用户与应用程序之间的一个交互接口。 Java中,为了方便GUI程序的开发,设计了专门的类库来生成各种标准图形界面元素,Swing组件便是其中常用的一种,类库是javax.swing包。Swing相关的包,见教材表4-1常用Swing组件类层次图,见教材图4-2二、创建窗体1、窗体JFrameJFrame类就是一个顶层容器类,允许用户把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。JFrame的常用方法,见教材表4-22、标签JLabelJLabel类是一个用来在界面上显示文本或图像的类,创建标签时即可指定要显示的文本或图像,但运行时它们不能被用户修改。标签不能响应输入事件,不能与用户交互,即不能像按钮那样点击后程序可以做出某种响应,标签主要用来显示。3、按钮JButton按钮JButton类是图形界面中使用最多的一个组件,使用按钮可以与用户交互,响应鼠标的点击,可以完成用户想要完成的一些功能。JButton是继承自抽象类AbstractButton的,该抽象类中定义了许多组件的设置和处理的方法,AbstractButton类的常用方法见教材表4-34、文本框JTextField和密码框JPasswordFieldSwing中与文字输入有关的组件主要包括JTextField、JTextArea、JPasswordField和JTextPane,其中JTextField、JPasswordField是单行的文本输入组件,JTextArea是多行的文本输入组件,JTextPane可以设置其中文本的格式,它们都继承自JTextComponent类JTextComponent类的常用方法,见教材表4-4任务2登陆验证功能
完善任务1,令登陆窗体可以响应用户的登陆请求,在用户输入账号、密码,并点击“登陆”按钮后进行身份验证,并反馈登陆成功与否的信息。运行效果如图所示。知识点:事件处理机制当GUI上的组件与用户发生交互,触发一定的事件后执行相应的事件处理代码,使得GUI能“动”起来的这种机制就叫做事件处理机制。Java采用叫做授权事件模型(DelegationEventMode)的事件处理机制,也称为委托事件模型。采用授权事件模型进行事件处理一般包含三步骤:
第一、确定事件源EventSource和事件Event。
第二、实现可以监听和处理事件的监听器EventListener,编写事件的处理代码。
第三、将监听器对象注册给事件源,这样关联之后才能使得事件发生后能执行相应的处理代码。Java图形用户界面事件处理的过程例程:典型的按钮点击事件
使用文本框收集用户输入的学生信息,点击“确定”按钮后将学生信息回显到界面右侧空白区域,点击“重置”按钮将同时清空文本框填入的信息和右侧的回显信息。运行效果如图所示。4.2 容器与布局任务3图形用户界面的四则运算编程实现图形用户界面的四则运算程序,加法、乘法运算的运行效果分别如图所示。知识点:JPanel、布局管理器一、JPanelJPanel,Swing中的中间层容器面板,继承自javax.swing.JComponent,主要用于放置Swing轻量级组件,JPanel的对象也可以作为顶层容器的内容面板来使用。将JPanel与布局策略结合使用可以更有效地进行界面设计和管理。二、布局管理器1、FlowLayout FlowLayout是JPanel的缺省布局管理器,其布局策略是:组件按从上到下、从左到右的顺序进行放置,如果容器足够宽,第一个组件先添加到容器中第一行的最左边,后续的组件依次添加到上一个组件的右边,如果当前行已放置不下该组件,则放置到下一行的最左边,依此类推。2、BorderLayoutBorderLayout边界布局是一种比较简单的布局策略,它将容器分为NORTH、SOUTH、WEST、EAST、CENTER五个区域,每个区域容纳一个组件,这五个区域被定义为BorderLayout类的5个静态常量。3、GridLayoutGridLayout网格布局是像棋盘一样将容器划分成若干行×列的网格区域,每个网格放置一个组件。在容器上添加组件时,它们会按从左到右、从上到下的顺序在网格中排列。4、BoxLayoutBoxLayout箱式布局是在Swing中新增加的一种布局管理器,它允许多个组件全部垂直摆放或全部水平摆放。BoxLayout布局管理器按照自上而下(y轴)或者从左到右(x轴)的顺序布局依次加入组件。5、null布局若想精确地指定各个组件的位置和大小,我们可以使用容器的setLayout()方法,将参数设为null,表示取消容器的布局管理器设置,即null布局。若采用了null布局,就需要我们为各个组件设置位置和大小,应配合组件的setBounds()方法,或setLocation()方法、setSize()方法使用。4.3 GUI基本元素任务4文本复制编程实现一个文本复制程序,用户可以在左侧文本区中键入内容,选中文本后,点击copy按钮可将选中的文本复制到右边的文本区中,运行效果如图所示。任务5字体选择器编程实现一个字体选择器,用户可以选择字体、字号、样式和颜色,用户键入文本内容时,文本区回显用户键入的内容,并采用用户选择的字体、字号、样式和颜色。运行效果如图所示。知识点:选择型组件一、单选按钮JRadioButtonJRadioButton单选按钮必须配置成组才能实现多选一,否则仍然能够多选。性别选择就应使用JRadioButton单选按钮组实现。二、复选框JCheckBoxJCheckBox,复选框,实现一组选项中的多选功能例程:模拟考试系统的答题界面三、组合框JComboBoxSwing通过JComboBox类支持组合框(一个文本框和下拉列表的组合),组合框通常显示一个可选条目,可允许用户在一个下拉列表中选择多个不同条目4.4 菜单与工具栏任务6简单记事本界面编程模拟一个简单记事本界面,包含文件的新建、打开操作命令和文本的剪切、复制、粘贴命令,以及退出程序的操作命令,并实现编辑功能(剪切、复制、粘贴)和退出功能。效果如图所示。知识点:菜单、工具栏一、菜单
菜单和工具栏几乎是所有图形用户界面程序中必备的组件,Swing包中有一系列专门用来创建菜单组件的类,如图所示。1、JMenuBar菜单栏JMenuBar是放置菜单的容器。可以通过JFrame类的setMenuBar()方法把JMenuBar对象加入一个框架中。2、JMenu菜单JMenu是菜单栏上放置的菜单。每一个菜单由一些菜单项组成。可以通过JMenuBar类的add()方法,把JMenu对象放置在JMenuBar对象上(即设置菜单栏上的主菜单)。3、JMenuItem菜单项菜单项代表具体的菜单操作命令,可以通过JMenu类的add()方法,把JMenuItem菜单项加到JMenu菜单中。JMenuItem与JButton及其相似,点击JMenuItem同样产生ActionEvent事件。4、JPopupMenu弹出菜单JPopupMenu可实现弹出菜单,弹出菜单是一个可弹出并显示一系列选项的小窗口。JPopupMenu用于用户在菜单栏上选择项时显示的菜单。它还用于当用户选择菜单项并激活它时显示的“右拉式(pull-right)”菜单。5、JSeparator分隔符JSeparator常用作菜单项之间的分隔符,以便将菜单项分成几个逻辑组。可以使用JMenu或JPopupMenu的addSeparator()方法来创建和添加一个分隔符,而不是直接使用JSeparator。JSeparator还可能用于GUI中任何一个需要可视化分隔符的地方。
6、创建菜单系统案例例程:模拟一个学生管理系统的菜单系统二、工具栏Swing中JToolBar类提供了工具栏的属性和方法,用来放置各种常用功能命令的按钮。对于大多数的外观,用户可以将工具栏拖到单独的窗口中(除非floatable属性被设置为false)。4.5 对话框任务7确认退出对话框在任务6的基础上,创建确认退出的对话框,当用户选择退出菜单或点击退出按钮时,弹出该对话框请用户确认退出操作。运行效果如图所示。知识点:JDialog、JOptionPane、JFileChooser一、JDialogJDialog,Swing中的对话框,依赖于上层组件(窗口或对话框),一般是一个临时的窗口,主要用于显示提示信息或接受用户输入。JDialog必须要依赖于某个窗口或组件,当它所依赖的窗口或组件消失,对话框也将消失,当它所依赖的窗口或组件可见时,对话框又会自动恢复。二、JOptionPaneJOptionPane类提供了一些静态方法用于显示各种对话框,这些对话框都是模式的,主要包含四种类型:消息对话框、输入对话框、确认对话框和选项对话框。JOptionPane类创建各种标准对话框的静态方法,见教材表4-6三、JFileChooserJFileChooser,文件选择器,用于显示打开或保存文件的对话框。JFileChoose本身只是一个针对文件操作的对话框,并没有文件读取或文件存盘的功能,要实现这样的功能,必须要结合输入输出流的使用。4.6 表格任务8使用表格编程实现一个简单学生成绩管理程序,可以录入和显示学生姓名、班级和成绩信息。运行效果如图所示。知识点:JTable表格是在设计图形用户界面时非常重要的一种组件,特别是当我们需要将较多的统计数据非常清晰而有条理地呈现在用户面前时,表格的运用可以达到很好的效果Swing实现表格的组件是JTable实训任务[实训
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年户外露营吊椅设计行业深度调研及发展战略咨询报告
- 2025-2030年手工铜质耳环行业深度调研及发展战略咨询报告
- 2025-2030年户外野营家具套装行业深度调研及发展战略咨询报告
- 2025-2030年手工铜像定制企业制定与实施新质生产力战略研究报告
- 2025-2030年手工镶嵌镜子行业跨境出海战略研究报告
- 2025-2030年文化用品文化活动企业制定与实施新质生产力战略研究报告
- 多因素影响下动脉粥样硬化模型的稳定性与分岔分析
- S人力资源公司企业文化重塑研究
- 寰椎椎动脉沟后环变异的解剖学研究
- 激光切割的CAM软件关键技术研究与实现
- 自卸车司机实操培训考核表
- 教师个人基本信息登记表
- 中考现代文阅读理解题精选及答案共20篇
- ESD测试作业指导书-防静电手环
- 高频变压器的制作流程
- 春季开学安全第一课PPT、中小学开学第一课教育培训主题班会PPT模板
- JJG30-2012通用卡尺检定规程
- 部编版人教版二年级上册语文教材分析
- 艾宾浩斯遗忘曲线复习方法表格模板100天
- APR版制作流程
- 《C++程序设计》完整教案
评论
0/150
提交评论