已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第6讲用户图形界面 主要内容图形用户界面概述java awt包中的组件javax swing中的组件菜单组件本讲小结 2 图形用户界面 GraphicsUserInterface 简称GUI 是指使用图形的方式 以菜单 按钮 标识 图文框等标准界面元素组成的用户操作屏幕 在应用系统得开发中 可能要设计各种各样的用户界面 因此 我们所关心的是 开发环境提供了哪些用于构成用户界面的组件元素 这些组件元素的功能及作用是什么 组件元素之间有无关系 如何利用这些组件元素构建用户操作界面 在Java中 构成图形用户界面的各种组件元素大致可分为以下三类 容器 组件和用户自定义成分 图形用户界面概述 3 图形用户界面概述 容器 Container 容器是一个窗口 屏幕上的矩形区域 作为一个组件对象被摆放在屏幕上 有其位置和大小 在它上边摆放的其他组件元素被限制在这个窗口之内 容器作为一个对象可以现身或隐身 当容器现身时 它所包含的所有组件元素也同时显示出来 当容器被隐身时 它所包含的所有元素也一起被隐藏 容器上的元素可以按一定的规则来排列 布局 容器的嵌套性 一个容器可以被嵌套在其它的容器之中 组件 Component 组件是图形用户界面上最小的界面元素 它被放置在容器上 它里面不能再包含其它的组件 组件的作用是显示或接收用户信息 用户自定义成分为装饰 美化用户界面 可以在屏幕上添加一些诸如几何图形 图案等 它们不是标准界面元素 一般不具有响应用户动作的功能 4 java awt类包中的常用容器和组件 Frame容器构造方法Frame 用于建立一个没有标题的窗口 Frame Stringtitle 用于建立一个带title标题的窗口 常用方法publicComponentadd Componentc 将组件c添加到容器上 publicvoidsetTitle Stringtitle 将窗口的标题设置成title publicvoidsetLayout LayoutManagermgr 设置容器的布局管理器为mgr publicvoidsetSize intwidth intheight 设置容器的大小 其中width和height分别表示窗口的宽和高 计算单位为像素 publicvoidsetBounds inta intb intwidth intheight 设置容器在屏幕上的位置和大小 其中 a b 为容器在屏幕上的起始位置即左上角的坐标 默认是 0 0 计算单位为像素 publicvoidsetResizeable booleanb 设置容器是否可调整大小 默认是可调的 publicvoidsetVisible booleanb 设置窗口是否可见 默认是不可见的 程序实现 5 窗格容器Panel Panel是一个较为简单的容器 在它上边可以放置其它的图形用户界面组件 也可放置另一个Panel 即Panel可以嵌套 构造方法Panel 创建一个Panel对象 并使用默认的布局管理器FlowLayout摆放添加到窗格上的组件对象 Panel LayoutManagerlayout 创建一个Panel对象 并使用layout所指定的布局管理器摆放添加到窗格上的组件对象 常用方法publicComponentadd Componentc 将组件c添加到窗格上 publicvoidsetLayout LayoutManagerlayout 设置窗格的布局管理器为layout publicvoidsetVisible booleanb 设置窗格是否可见 默认是可见的 示例程序实现 6 常用组件Label 标签 标签是一种用作标识或提示信息的组件 不能被编辑 构造方法Label 创建一个空的标签 Label Stringtext 创建内容为text的标签 内容左对齐 Label Stringtext intalignment 创建一个标识内容为text的标签 对齐方式由alignment指定 类常数LEFT常数值为0 表示左对齐 RIGHT常数值为2 表示右对齐 CENTER常数值为1 表示居中对齐 常用方法publicStringgetText 获得标签的标识内容 publicvoidsetText Stringtext 设置标签的标识内容为text publicvoidsetVisible booleanb 设置标签是否可见 程序实现示例 7 TextField 单行文本框 文本框是最常用的一个组件 它可以接收从键盘输入的信息 构造方法TextField 创建一个空的 系统默认宽度的文本框 TextField intcolumns 创建空的并有columns列的文本框 TextField Stringtext 创建具有text字符串内容的文本框 TextField Stringtext intcolumns 创建一个具有text内容且宽度为columns列的文本框 常用方法publicStringgetText 获取文本框的内容 publicvoidsetText Stringtext 将文本框内容置text publicsetEchoChar charc 设置密码输入方式 publicvoidsetEditable booleanb 设置文本是否为可编辑的 publicvoidsetVisible booleanb 设置文本框是否可见 程序示例实现 8 TextArea 多行文本框 构造方法TextArea 创建一个空的多行文本框 TextArea introws intcolumns 创建具有rows行columns列的空文本框 TextArea Stringtext 创建具有text内容的文本框 TextArea Stringtext introws intcolumns 创建具有rows行columns列且具有text内容的文本框 TextArea Stringtext introws intcolumns intscrollbars 与上相同 并由scrollbars确定显现横 竖滚动条 类常数SCROLLBARS BOTH其值为0 显示横 竖向滚动条 SCROLLBARS HORIZONTAL ONLY其值为2 只显示横向滚动条 SCROLLBARS VERTICAL ONLY其值为1 只显示竖向滚动条 SCROLLBARS NONE其值为3 不显示滚动条 9 TextArea 多行文本框 常用方法publicvoidsetText Strings 将s设置为文本框的内容 替换掉原有内容 publicStringgetText 获取文本框中的内容 publicvoidsetEditable booleanb 设置文本内容是否可以编辑 系统默认为可编辑的 publicvoidinsert Stringstr intpos 将str插入到文本框中由pos指定的位置处 publicvoidappend Strings 将s追加到文本框中现有内容的后面 publicvoidreplaceRange Stringstr intstart intend 以str替换掉文本内容中从start 到end位置之间的字符 程序实现示例 10 Checkbox 复选框 构造方法Checkbox 创建一个无标识的复选框对象 Checkbox Stringlabel 创建以label为标识的复选框 Checkbox Stringlabel booleanstate 创建以label为标识的复选框 若state为true 则为选中 否则未选中 Checkbox Stringlabel booleanstate CheckboxGroupgroup 创建复选框并将它放入group中 常用方法publicStringgetLabel 获得对象标识 publicbooleangetState 获得对象选中或未选中状态 publicCheckboxGroupgetCheckboxGroup 获得对象所属的组 publicvoidsetLabel Stringlabel 设置对象的标识 publicvoidsetState booleanstate 设置对象的状态 publicvoidsetCheckboxGroup CheckboxGroupg 将对象加入g组中 程序实现示例 11 Choice 选择菜单 构造方法Choice 构建一个弹出式选择项菜单对象 常用方法publicvoidadd Stringitem 在菜单中添加item项 publicvoidinsert Stringitem intindex 在index位置处插入item项 index为0时 第一项 为1时 第二项 publicvoidremove Stringitem 在菜单中移去item项 publicStringgetItem intindex 获得index位置处的项 publicintgetItemCount 获得菜单中的项目总数 publicintgetSelectedIndex 获取当前选中项的位置数 publicStringgetSelectedItem 获取当前选中的项 publicvoidremoveAll 移去菜单中所有的选项 12 List 列表 构造方法List 创建只可单选的列表对象 List introw 创建可单选的列表 row是可见项数 List introw booleanmulipleMode 创建可显示row项的列表 若mulipleMode的值为true 可选择多项 常用方法publicvoidadd Stringitem 在列表中添加item项 publicvoidadd Stringitem intindex 在index位置添加item项 publicStringgetItem intindex 获取index位置处的项 publicintgetItemCount 获取表中项目的总数 publicString getItems 将所有项存放到字符串数组中 publicintgetSelectedIndex 获取当前选中项的位置 如果没有选中项或选中项多于一个 则返回 1 publicint getSelectedIndex 将所有选中项的位置放到整数数组里 publicStringgetSelectedItem 获取当前的选中项 如果没有选中项或选中项多于一个 则返回null publicString getSelectedItems 将所有选中项放到字符串数组里 13 Button 按钮 构造方法Button 构造一个无标识的按钮对象 Button Stringlabel 构造一个以label为标识的按钮对象 常用方法publicvoidsetLabel Stringlabel 设置对象标识 publicStringgetLabel 获得对象标识 publicvoidaddActionListener ActionListenerlisten 以listen注册按钮的监听者对象 程序实现 14 BorderLayout布局管理器 该布局将容器划分为东 西 南 北 中5个区 当每次添加组件时都要指明把它放在哪个区域 它是Frame容器默认的布局 构造方法BorderLayout 创建一个BorderLayout布局管理器 BorderLayout inthgap intvgap 创建布局管理器 hgap和vgap分别指定组件之间的水平和垂直距离 类常数EAST其值为 East 摆放在右边 东 WEST其值为 West 摆放在左边 西 SOUTH其值为 South 摆放在底部 南 NORTH其值为 North 摆放在顶部 北 CENTER其值为 Center 摆放在中部 常用方法publicintgetHgap 获得组件之间的水平距离 publicvoidsetHgap inthgap 设置组件之间的水平距离为hgap publicintgetVgap 获得组件之间的垂直距离 publicvoidsetVgap intvgap 设置组件之间的垂直距离为vgap 布局实现示例 15 CardLayout布局管理器 该布局是将加入到容器中的各个组件作为卡片而摆放到一个 卡片盒 中 只能看到最上面的卡片 组件 它占据容器的整个空间 要想查看其他的卡片 只有将它从盒中移到上面来 一般用于翻扑克牌 查看图片等方面 构造方法CardLayout 创建一个CardLayout对象 CardLayout inthgap intvgap 创建对象 组件与容器的上下边间距和左右边间距分别为vgap和hgap 常用方法publicvoidfirst Containercontainer 显示容器中的首个对象 publicvoidlast Containercontainer 显示容器中的最后一个对象 publicvoidnext Containercontainer 显示容器中的下一个对象 publicvoidprevious Containercontainer 显示容器中的前一个对象 16 FlowLayout布局管理器 该布局是Panel Applet等容器默认的布局 也称为流布局 添加到容器上的各个组件按照它们被添加的顺序从左到右依次排列 一行摆满后 就自动转到下一行继续摆放 摆放的组件不因容器大小的改变而改变 构造方法FlowLayout 创建流布局 默认组件居中对齐 且组件之间的间距为5 FlowLayout intalign 创建流布局 align指定对齐方式 组件间距为5 FlowLayout intalign inthgap intvgap 创建流布局 align指定对齐方式 组件间距分别由hgap和vgap指定 类常数LEFT其值为0 每行组件都是左对齐 CENTER其值为1 每行组件都是居中对齐 RIGHT其值为2 每行组件都是右对齐 LEADING其值为3 每行组件都与容器方向的开始边对齐 TRAILING其值为4 每行组件都与容器方向的结束边对齐 常用方法publicintgetAlignment 获得组件的对齐方式 publicvoidsetAlignment intalign 设置组件的对齐方式 17 GridLayout布局管理器 该布局将容器划分成m行n列的网格 添加到容器中的组件按行列顺序被依次放置到每个网格中 网格的大小是一样的 因此 被放在网格中组件的大小也是一样的 构造方法GridLayout 创建布局 所有组件被放在一行上且之间无间距 GridLayout introws intcols 创建具有rows行cols列的网格布局 rows和cols中可以有一个为零 但不能两者同时为零 表示可以将任何数目的组件对象置于行或列中 GridLayout introws intcols inthgap intvgap 和上边类似 但组件之间的横向 竖向间距分别为hgap vgap 常用方法publicintgetColumns 获得布局的列数 publicintgetRows 获得布局的行数 publicvoidsetColumns intcols 设置布局列数为cols publicvoidsetRows introws 设置布局行数为rows 程序示例实现 18 GridBagLayout布局管理器 该布局最灵活 它不要求组件的大小相同即可将组件竖向和横向对齐 它利用GridBagConstraints对象的功能来设置组件的大小和位置 构造网格包对象GrigBagLayout 构造GridBagConstraints对象GridBagConstraints GridBagConstraints intgridx intgridy intgridwidth intgridheight doubleweightx doubleweighty intanchor intfill Insetsinsets intipadx intipady 其中 Gridx gridy为放置组件的网格的行列坐标 第一个网格坐标为0 0 Gridwidth gridheight为组件所占的列数 行数 weightx weighty为组件分配竖 横向的额外空间 随容器而变化 anchor当组件小于其显示区域时 用它确定位置 默认为居中 fill当组件大于它所请求的显示区域时 用它确定是否调整组件 insets指定组件的外部填充 使组件与显示区域的间距达到最小 ipadx ipady指定组件的内部填充 即给组件的最小宽度及高度添加多大的空间 单位为像素 默认值为0 0 19 GridBagConstraints常数 布局常数BOTH其值为1 在横向和竖向上同时调整组件大小 CENTER其值为10 将组件置于其显示区域的中部 EAST其值为13 将组件置于其显示区域的右部 并且在垂直方向上居中 HORIZONTAL其值为2 在横向上调整组件大小 NONE其值为0 不重新调整组件大小 NORTH其值为11 将组件置于其显示区域的顶部 并且在横向上居中 NORTHEAST其值为12 将组件置于其显示区域的右上角 NORTHWEST其值为18 将组件置于其显示区域的左上角 RELATIVE其值为 1 指定组件为其行或列中的倒数第二个组件 或者紧跟在以前添加的组件之后 REMAINDER其值为0 指定组件是其行或列中的最后一个组件 SOUTH其值为15 将组件置于其显示区域的底部 并且在横向上居中 SOUTHEAST其值为14 将组件置于其显示区域的右下角 SOUTHWEST其值为16 将组件置于其显示区域的左下角 VERTICAL其值为3 在竖向上调整组件大小 WEST其值为17 将组件置于其显示区域的左部 并且在竖向上居中 程序示例实现 20 javax swing类包中的常用容器和组件 JFrame容器JFrame是Frame的派生类 与Frame轻微不兼容 包含一个JRootPane作为其唯一的子容器 这不同于Frame 构造方法与Frame类似常用常数EXIT ON CLOSE其值为3 关闭框架窗口 退出程序 常用方法publicvoidsetDefaultCloseOperation intoperation 设置关闭框架窗口的操作方式 operation可以取类常数 publicintgetDefaultCloseOperation 获取关闭框架窗口的操作方式 publicContainergetContentPane 获得当前的容器对象 publicvoidsetContentPane ContainercontentPane 设置放置组件的容器对象 21 JScrollPane容器 用来建立可滚动的框格窗口 构造方法JScrollPane JScrollPane Componentview JScrollPane Componentview intvsb inthsb JScrollPane intvsb inthsb 其中 view是摆放在框格中的对象 vsb和hsb设置横 竖向的滚动方式 类常数HORIZONAL SCROLLBAR ALWAYS其值32 一直显示横向滚动条 VERTICAL SCROLLBAR ALWAYS其值22 显示竖向滚动条 HORIZONAL SCROLLBAR AS NEEDED其值30 根据需要显示横向滚动条 VERTICAL SCROLLBAR AS NEEDED其值20 根据需要显示竖向滚动条 HORIZONAL SCROLLBAR NEVER其值31 不显示横向滚动条 VERTICAL SCROLLBAR NEVER其值21 不显示竖向滚动条 22 JScrollPane容器 常用方法publicintgetHorizontalScrollBarPolicy 获取横向滚动方式 publicintgetVerticalScrollBarPolicy 获取竖向滚动方式 publicvoidsetHorizontalScrollBarPolicy intpolicy 设置横向滚动方式 publicvoidsetVerticalScrollBarPolicy intpolicy 设置竖向滚动方式 publicvoidsetViewportView Componentview 设置滚动窗口要观察的对象 程序示例实现 23 JLabel类 用于显示文字或图像信息 并可指定信息的位置 构造方法JLabel 创建空标签 JLabel Iconimage 以image图像创建标签 JLabel Iconimage intalignment 以image图像及alignment对齐创建标签 JLabel Stringtext 以字符串text创建标签 JLabel Stringtext Iconicon intalignment 以字符串text 图像image及alignment对齐创建标签 JLabel Stringtext intalignment 以texte及alignment对齐创建标签 注意 alignment对齐可以取以下方位常数值 LEFT 其值为2 左对齐 CENTER 其值为0 居中 RIGHT 其值为4 右对齐 LEADING 其值为10 前端对齐 或TRAILING 其值为11 后端对齐 之一 常用方法publicIcongetIcon 获得标签图像 publicvoidsetIcon Iconicon 设置标签图像 24 JPasswordField类 常用构造方法JPasswordField 构造一个JPasswordField对象 JPasswordField intcolumns 构造具有指定列的对象 JPasswordField Stringtext 以text指定文本构造对象 JPasswordField Stringtext intcolumns 以text指定文本和以columns指定的列数构造对象 常用方法publicchargetEchoChar 返回用于回显的字符 默认值为 publicvoidsetEchoChar charc 设置回显字符 publicchar getPassword 返回组件中所包含的文本 25 JButton类 该类是AbstractButton的派生类 具有众多的方法 构造方法JButton Iconicon 创建一个带图标的按钮 JButton Stringtext 创建一个带文本的按钮 JButton Stringtext Iconicon 创建一个带初始文本和图标的按钮 其中 text和icon分别表示显示在按钮组件上的文本和图标 和Button不同的是 Button组件上只能显示文字 JButton可以显示文字和图标 示例程序实现 26 JList类 构造方法JList 构建一个空的列表 JList ListModeldataModel 以列表模型dataModel构建列表 JList Object listData 以一组对象构建列表 JList VectorlistData 以Vector对象构建列表 常用方法publicvoidsetCellRenderer ListCellRenderercellRenderer 设置用于绘制列表中每个单元的委托 publicListCellRenderergetCellRenderer 获得呈现列表项的对象 和List不同 可以一组对象构建列表 也可在列表中加入图标 程序示例实现 27 菜单 创建一个菜单栏 MenuBar 在菜单栏上创建各个菜单 Menu 为每个菜单创建各个菜单项 MenuItem 菜单栏 JMenuBar 构造方法 JMenuBar 常用方法publicJMenuadd JMenum 将一个Jmenu对象m添加到菜单栏中 publicJMenugetMenu intindex 获取菜单栏中第index个JMenu对象 index取值从0开始 0表示第一个菜单 publicintgetMenuCount 获取菜单栏中JMenu对象的总数 即菜单个数 publicvoidremove intindex 将菜单栏中的第index个JMenu对象删除 publicJMenugetHelpMenu 获取菜单栏的帮助菜单 28 菜单 JMenu 菜单是放置菜单项的容器 一个菜单可包含若干个菜单项 构造方法JMenu 创建一个没有标题的空菜单 JMenu Stringlabel 创建一个标题为label的菜单 JMenu Stringlabel booleantearOff 以label为标题构建菜单 tearOff确定菜单是否可分离的 常用方法publicJMenuItemadd JMenuItemm 将一个菜单项添加到菜单中 publicJMenuItemadd Stringlabel 以label为标题的项添加到菜单中 publicComponentadd Componentc 将组件c添加到菜单中 publicvoidaddSparator 添加一条分割线到菜单中 publicJMenuItemgetItem intpos 获得pos指定位置的菜单项 publicintgetItemCount 获得菜单项的数目 包括分割线 publicJmenuIteminsert JMenuItemmItem intpos 在pos处插
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年辽宁锦州市公安局招聘警务辅助人员268人考试笔试备考试题及答案解析
- 2026内蒙古锡林郭勒盟多伦县第三中学(自治区示范性高中)赴内蒙古师范大学招聘教师3人笔试考试参考题库及答案解析
- 2025贵州毕节市应急管理局下属事业单位第二批次“人才强市”暨高层次急需紧缺人才引进笔试考试参考题库及答案解析
- 2025年山东城市建设职业学院公开招聘博士研究生(17名)笔试考试备考试题及答案解析
- 2025年甘肃省陇南市徽县银杏树镇卫生院人员招聘考试笔试备考试题及答案解析
- 2025下半年四川泸州合江县卫生健康局招聘卫生医疗机构编外工作人员7人考试笔试参考题库附答案解析
- 2025下半年北京市体育局所属事业单位招聘教练员、运动员58人考试笔试模拟试题及答案解析
- 2025重庆市铜梁区人民政府蒲吕街道办事处公益性岗位招聘1人考试笔试备考试题及答案解析
- 2025广西崇左凭祥市应急管理局编外工作人员招聘1人考试笔试模拟试题及答案解析
- 2026丝路基金校园招聘考试笔试备考题库及答案解析
- T/CAQI 210-2021果蔬清洗装置
- 公司挂靠安全协议书
- 2023驾驶人数字化体检系统基本功能及技术要求
- 【MOOC答案】《光纤光学》(华中科技大学)章节作业期末慕课答案
- 2025-2030年中国铜精粉产业营运走势与投资前景展望研究报告
- 江苏扬州大数据集团子公司招聘笔试题库2025
- DB37-T5321-2025 居住建筑装配式内装修技术标准
- 深圳协议二手车合同模板
- 酒厂车间员工管理制度
- DB21T 3722.7-2025高标准农田建设指南 第7部分:高标准农田工程施工质量评定规范
- 2025年工地监护员考试题及答案
评论
0/150
提交评论