Java程序设计资料:单元16 swing高级控件使用.doc
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java程序设计资料:单元16 swing高级控件使用.doc》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计资料:单元16 swing高级控件使用 Java 程序设计 资料 单元 16 swing 高级 控件 使用
- 资源描述:
-
1、单元单元 16swing 高级控件的使用高级控件的使用单元目标 熟练使用 JCombox、JList 控件 熟练使用 JCheckBox、JRadioButton 控件 掌握选择事件处理的应用 掌握使用 JMenuBar、JMenu 和 JMenuItem 构造应用程序菜单; 掌握使用 JPopupMenu 构造应用程序弹出式菜单; 能够处理鼠标事件。学习任务 011.任务描述设计一个简单的实现字体设置窗口程序,可根据用户选择设置字体的种类、字号、字形、颜色等属性。2.运行结果图 4-13 字体设置程序界面知识准备16.1 组合框 JComboBox组合框(JComboBox)用于在多项选择中
2、选择一项的操作,用户只能选择一个项目。在未选择组合框时,组合框显示为带按钮的一个选项的形式,当对组合框按键或单击时,组合框会打开可列出多项的一个列表,提供给用户选择。由于组合框占用很少的界面空间,所以当项目较多时,一般用它来代替一组单选按钮。组合框有可编辑和不可编辑两种形式。如果将组合框声明为可编辑的,用户字体设置窗口程序设计字体设置窗口程序设计也可以在文本框中直接输入自己的数据,缺省情况下组合框是不可编辑的。组合框事件可以是 ActionEvent 事件和 ItemEvent 事件。 事件处理方法与其他同类事件的处理方法类似。组合框的构造方法和常用方法:方法名方法名方法功能方法功能JComb
3、oBox()构造一个缺省模式的组合框JComboBox(Object items)通过指定数组构造一个组合框JComboBox(Vector items)通过指定向量构造一个组合框JComboBox(ComboBoxModel aModel)通过一个 ComBox 模式构造一个组合框int getItemCount()返回组合框中项目的个数int getSelectedIndex()返回组合框中所选项目的索引Object getSelectedItem()返回组合框中所选项目的值boolean isEditable()检查组合框是否可编辑void removeAllItems()删除组合框中所
4、有项目void removeItem(Object anObject)删除组合框中指定项目void setEditable(boolean aFlag)设置组合框是否可编辑void setMaximumRowCount(int count)设置组合框显示的最多行数16.2 复选框 JCheckBox复选框是具有开关或真假状态的按钮,用户可以在多个复选框中选中一个或者多个。JCheckBox 类提供复选框的支持。单击复选框可将其状态从“开”更改为“关” ,或从“关”更改为“开” 。复选框事件可以是 ActionEvent 事件和ItemEvent 事 件 。 JCheckBox 类 可 实 现
5、ItemListener 监 听 器 接 口 的itemStateChanged()方法来处理事件,用 addItemListener()方法注册。方法名方法名方法功能方法功能JCheckBox()创建无文本无图像的初始未选复选框JCheckBox(Icon icon)创建有图像无文本的初始未选复选框JCheckBox(Icon icon, boolean selected)创建带图像和选择状态但无文本的复选框JCheckBox(String text)创建带文本的初始未选复选框JCheckBox(String text, boolean selected)创建具有指定文本和状态的复选框JCh
6、eckBox(String text, Icon icon)创建具有指定文本和图标图像的初始未选复选框按钮JCheckBox(String text, Icon icon, boolean selected)创建具有指定文本、图标图像、选择状态的复选框按钮String getLabel()获得复选框标签boolean getState()确定复选框的状态void setLabel(Stringlabel)将复选框的标签设置为字符串参数void setState(boolean state)将复选框状态设置为指定状态16.3 单选按钮 JRadioButton单选按钮 (JRadioButton
7、) 可以让用户进行选择和取消选择, 与复选框不同,每次只能选择一组单选按钮中的一个。JRadioButton 类本身不具有同一时间内只有一个单选按钮对象被选中的性质,也就是说 JRadioButton 类的每个对象都是独立,不因其他对象状态的改变而改变。因此,必须使用 ButtonGroup 类将所需的 JRadioButton 类对象构成一组,使得同一时间内只有一个单选按钮对象被选中。只要通过 ButtonGroup 类对象调用 add() 方法,将所有 JRadioButton类对象添加到 ButtonGroup 类对象中即可实现多选一。 ButtonGroup 类只是一个逻辑上的容器,它
8、并不在 GUI 中表现出来。单选按钮的选择事件是 ActionEvent类事件。方法名方法名方法功能方法功能JRadioButton()使用空字符串标签创建一个单选按钮 (没有图像、 未选定)JRadioButton(Icon icon)使用图标创建一个单选按钮(没有文字、未选定)JRadioButton(Icon icon, boolean selected)使用图标创建一个指定状态的单选按钮(没有文字)JRadioButton(String text)使用字符串创建一个单选按钮(未选定)JRadioButton(String text, boolean selected)使用字符串创建一个
9、单选按钮JRadioButton(String text, Icon icon)使用字符串和图标创建一个单选按钮(未选定)JRadioButton(String text, Icon icon, boolean selected)使用字符串创建一个单选按钮16.4 列表框 JList列表框(JList)是允许用户从一个列表中选择一项或多项的组件,用其显示一个数组或集合中的数据是很容易的。列表框使用户易于操作大量的选项。列表框的所有项目都是可见的,如果选项很多,超出了列表框可见区的范围,则列表框的旁边会有一个滚动条。列表框事件可以是 ListSelectionEvent 事件和ItemEvent
10、 事件。方法名方法名方法功能方法功能JList()构造一个空的滚动列表JList(Object listData)通过一个指定对象数组构造一个列表JList(ListModel dataModel)通过列表元素构造一个列表JList(Vector listData)通过一个向量构造一个列表,是默认的选择方式int getSelectedIndex()获取列表中选中项的索引int getSelectedIndexes()获取列表中选中的索引数组Object getSelectedValue()获取列表中选择的值Object getSelectedValues()获取列表中选择的多个值void s
11、etSelectionMode(int selectionMode)设置选择模式void setVisibleRowCount(int visibleRowCount)设置不带滚动条时显示的行数16.5 选择事件选择事件(ItemEvent) 在 Java GUI 中,当进行选择性的操作,如单击复选框或列表项时, 或者当一个选择框或一个可选菜单的项被选择或取消时生成选项事件。 选中其中一项或取消其中一项都会触发相应的选项事件。触发选项事件的组件比较多,如 JComboBox、JCheckBox、JRadioButton 组件。当用户在下拉列表、复选框和单选按钮中,选择一项或取消一项,都会触发所
12、谓的选项事件ItemEvent。 当用户单击某个 JRadioButton 类对象时, 可以产生一个 ActionEven和一个或者两个 ItemEvent(一个来自被选中的对象,另一个来自之前被选中现在未选中的对象) 。也就是说 JRadioButton 类可以同时响应 ItemEvent 和ActionEvent。大多数的情况下,只需要处理被用户单击选中的对象,所以使用ActionEvent 来处理 JRadioButton 类对象的事件。当用户单击某个 JCheckBox类对象时,也可以产生一个 ItemEvent 和一个 ActionEvent 事件。大多数的情况下,需要判断 JChe
13、ckBox 类对象是否被选中,所以经常使用 ItemEvent 来处理JCheckBox 类的事件。 ItemEvent 类的处理过程: 当用户改变一个组件的状态时,会产生一个或多个 ItemEven 类事件。处理 ItemEvent 类事件的步骤如下: 使用 “import java.awt.event.*;” 语句导入 java.awt.event 包中的所有类; 给程序的主类添加 ItemListener 接口; 将需要监听的组件注册,其格式为:对象名.addItemListener (this); 在 itemStateChanged()方法中编写具体处理该事件的方法,其格式为:pub
14、lic void itemStateChanged(ItemEvent e) 在 itemStateChanged()方法中,经常使用下面 3 种方法来判断对象当前的状态: getItem()方法:返回因为事件的产生而改变状态的对象,其返回类型为Object。通过 if 语句将 getItem()依次与所有能改变状态的对象进行比较,就可以确定用户到底是哪一个对象因为事件的产生而改变了状态。 getItemSelectable()方法:返回产生事件的对象,其返回类型为 Object。通过 if语句将 getItemSelectable()依次与所有能产生事件的对象进行比较, 就可以确定用户单击的
15、是哪一个对象。getItemSelectable()方法的作用与 getSource()方法的作用完全一样。 getStateChange()方法:返回产生事件对象的当前状态,其返回值有两个,ItemEventSELECTED 和 ItemEvent.DESELECTED。 ItemEvent.SELECTED 表示对象当前为选中,ItemEvent.DESELECTED 表示对象当前未选中。任务实施1实现思路界面中的字体颜色单选项和字形复选框分别通过 JRadioButton 和JCheckBox 类进行创建并实现,字号选择通过 JList 类实现,字体选择通过JComboBox 类实现。布
16、局通过盒式布局嵌套实现,两个水平的盒子放在一个垂直的盒子里。上面水平的盒子里放 JComboBox、JList、JCheckBox、JRadioButton 对象,下面水平盒子里放文本区 JTextArea 对象和按钮对象。同时实现 ItemListener 和 ActionListener 接口,处理按钮点击和选择控件的事件。定义类 FontSet 继承 JFrame 实现 ItemListener, ActionListener 接口通过 JComboBox、JCheckBox、JradioButton 等对象实现 GUI 界面设计为组件添加监听器为 ItemListener 和 Acti
17、onListener 接口添加事件处理代码编写 main 方法测试程序2.程序代码public FontSet()/ 构造方法实现窗口显示 public class FontSet extends JFrame implements ItemListener,ActionListener/类及变量定义JRadioButton jrbRed = new JRadioButton(红色,true);JRadioButton jrbGreen = new JRadioButton(绿色);JRadioButton jrbBlue = new JRadioButton(蓝色);private Butt
18、onGroup bg = new ButtonGroup();JCheckBox jcb1 = new JCheckBox(加粗);JCheckBox jcb2 = new JCheckBox(倾斜);JComboBox listFont;JList listSize;JTextArea taDemo;JButton btnExit,btnEdit;/ 事件处理代码public void actionPerformed(ActionEvent e)if (e.getSource() = btnExit) dispose();else if (e.getSource() = btnEdit)in
19、t style = Font.PLAIN;if(jcb1.isSelected()style |= Font.BOLD;if(jcb2.isSelected()style |= Font.ITALIC;if(jrbRed.isSelected()taDemo.setForeground(Color.RED);if(jrbGreen.isSelected()taDemo.setForeground(Color.GREEN);if(jrbBlue.isSelected()taDemo.setForeground(Color.BLUE);String strFont = (String)listFo
20、nt.getSelectedItem();Font ft = newFont(strFont,style,listSize.getSelectedIndex()+16);字体设置窗口程序设计taDemo.setFont(ft);任务拓展GraphicsEnvironment 类描述了 Java 应用程序在特定平台上可用的GraphicsDevice 对象和 Font 对象的集合。此 GraphicsEnvironment 中的资源可以是本地资源,也可以位于远程机器上。GraphicsDevice 对象可以是屏幕、打 印 机 或图像缓冲 区,并且 都是 Graphics2D 绘图方 法的目标。
21、每个GraphicsDevice 都有许多与之相关的 GraphicsConfiguration 对象。这些对象指定了使用 GraphicsDevice 所需的不同配置。下面是 GraphicsEnvironment 类的几个有用的方法:abstractFontgetAllFonts() 返 回 一 个 数 组 , 它 包 含 此GraphicsEnvironment 中所有可用字体的像素级实例。Abstract String getAvailableFontFamilyNames()返回一个包含此GraphicsEnvironment 中所有字体系列名称的数组,它针对默认语言环境进行了本地化
22、,由 Locale.getDefault() 返回。Point getCenterPoint()返回 Windows 应居中的点。Rectangle getMaximumWindowBounds() 返回居中 Windows 的最大边界。Font 对象代表字体,JTextArea 的 setFont 方法可以设置文本区域的字体。任务实训1.实训目的 掌握 ItemListener 接口的使用; 掌握复选框的使用; 掌握单选按钮的使用; 掌握组合框的使用。2.实训内容综合运用 Java 选择控件,设计一个简单的字体设置程序,可以进行字体、字体设置窗口程序设计字形、字号和字体颜色的设置学习任务 0
23、21.任务描述本次任务将设计一个带有菜单的图形用户界面程序,使用级联菜单控制文字的字体和颜色。2.运行结果图 4-14 菜单窗口界面知识准备真正的 GUI 应用程序缺少不了菜单,它可以给用户提供简明清晰的信息,让用户从多个项目中进行选择,又可以节省界面空间。位于窗口顶部的菜单栏和其子菜单一般会包括一个应用程序的所有方法和功能,是比较重要的组件。在程序中使用普通菜单的基本过程,如图 4-15 所示,首先创建一个菜单栏(JMenuBar);其次创建若干菜单项(JMenu),并把它们添加到(JMenuBar)中;再次,创建若干个菜单子项(JMenuItem),或者创建若干个带有复选框的菜单子项(JC
展开阅读全文