《Java程序设计基础与实践 第8章 图形界面常用组件应用.ppt》由会员分享,可在线阅读,更多相关《Java程序设计基础与实践 第8章 图形界面常用组件应用.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第8章 图形界面常用组件应用本章要点本章要点Java事件处理机制事件处理机制JavaSwing常用组件及组件事件处理方法常用组件及组件事件处理方法JavaApplet程序程序图形界面的绘制方法图形界面的绘制方法Java事件处理机制事件处理机制Java事件处理流程事件处理流程事件源事件源能够产生事件的对象都可以成为事件源,如按钮、文本框等。换句话说,事能够产生事件的对象都可以成为事件源,如按钮、文本框等。换句话说,事件源必须是一个对象,而且该对象必须是件源必须是一个对象,而且该对象必须是Java认为能够发生事件的对象。认为能够发生事件的对象。监视器监视器监视器就是一个对事件源进行监视的对象,事件
2、源通过调用相应的方法将某监视器就是一个对事件源进行监视的对象,事件源通过调用相应的方法将某个对象作为自己的监视器。事件源是不处理事件的,而是将事件转交给监视个对象作为自己的监视器。事件源是不处理事件的,而是将事件转交给监视器来处理。器来处理。处理事件的接口处理事件的接口监视器是一个对象,为了处理事件源发生的事件,它会自动调用它所属类中监视器是一个对象,为了处理事件源发生的事件,它会自动调用它所属类中的方法来处理事件。的方法来处理事件。Java规定,为了让监视器对象能对事件源发生的事件进规定,为了让监视器对象能对事件源发生的事件进行处理,创建该监视器对象的类必须声明实现相应的接口,即必须在类体中
3、行处理,创建该监视器对象的类必须声明实现相应的接口,即必须在类体中给出该接口中所有方法的方法体,那么当事件源发生事件时,监视器对象就给出该接口中所有方法的方法体,那么当事件源发生事件时,监视器对象就会自动调用类中已实现的接口方法来处理事件。会自动调用类中已实现的接口方法来处理事件。Java事件处理机制事件处理机制(续续)javax.swing.event包中提供了许多事件类和处理各种事件的接口。对包中提供了许多事件类和处理各种事件的接口。对于按钮,事件最基本的处理过程如下:于按钮,事件最基本的处理过程如下:引入事件包引入事件包importjavax.swing.event.*;定义实现事件监视
4、器接口定义实现事件监视器接口classActionHandlerimplementsActionListener创建事件监视器创建事件监视器button.addActionListener(监视器监视器);实现接口中的方法实现接口中的方法publicvoidactionPerformed(ActinEvente)Java事件处理机制事件处理机制(续续)适配器类适配器类适配器类不需要实现接口中所有适配器类不需要实现接口中所有方法,只需要实现部分方法即可,方法,只需要实现部分方法即可,它会将不需要实现的方法自动以它会将不需要实现的方法自动以空实现的方式实现。在空实现的方式实现。在Java类库类库中
5、,中,Swing事件监视器接口有事件监视器接口有9个个适配器类适配器类。适配器类适配器类说明说明ComponentAdapter组件适配器组件适配器ContainerAdapter容器适配类容器适配类FocusAdapter焦点适配器焦点适配器KeyAdapter键盘适配器键盘适配器MouseAdapter鼠标适配器鼠标适配器MouseInputAdapter接收鼠标事件和接收鼠标事件和鼠标移动事鼠标移动事件的适配器件的适配器MouseMotionAdapter鼠标移动适配器鼠标移动适配器WindowAdapter窗口适配器窗口适配器HierarchyBoundsAdapter接收祖先的移动接
6、收祖先的移动和大小重调和大小重调事件的抽象事件的抽象适配器适配器Java事件处理机制事件处理机制(续续)常用事件监视器常用事件监视器接口名称:接口名称:ActionListener、ItemListener、TextListener、AdjustmentListener、MouseMotionListener、MouseListener、KeyListener、FocusListener、ComponentListener、WindowListener、ContainerListenerSwing常用组件常用组件-标签组件标签组件标签(标签(JLabel)用来显示提示信息。标签可以显示文本和图
7、标。)用来显示提示信息。标签可以显示文本和图标。JLabel的常用属性的常用属性:CENTER某区域的中心位置某区域的中心位置TOP用于指定框顶部位置的框方向常量用于指定框顶部位置的框方向常量LEFT用于指定框左侧位置的框方向常量用于指定框左侧位置的框方向常量BOTTOM用于指定框底部位置的框方向常量用于指定框底部位置的框方向常量RIGHT用于指定框右侧位置的框方向常量用于指定框右侧位置的框方向常量Swing常用组件常用组件-标签组件标签组件JLabel的常用方法的常用方法:JLabel()创建无图像并且其标题为空字符串的创建无图像并且其标题为空字符串的JLabelJLabel(Iconima
8、ge)创建具有指定图像的创建具有指定图像的JLabel实例实例JLabel(Iconimage,intHalignment)创建具有指定图像创建具有指定图像image和水和水平对齐方式的平对齐方式的JLabel实例实例JLabel(Stringtext)创建具有指定文本的创建具有指定文本的JLabel实例实例JLabel(Stringtext,Iconicon,intHalignment)创建具有指定文本、创建具有指定文本、图像和水平对齐方式的图像和水平对齐方式的JLabel实例实例JLabel(Stringtext,intHalignment)创建具有指定文本和水平对齐创建具有指定文本和水平
9、对齐方式的方式的JLabel实例实例setText(Strings)定义此组件将要显示的单行文本定义此组件将要显示的单行文本getTextl()返回该标签所显示的文本字符串返回该标签所显示的文本字符串Swing常用组件常用组件-标签组件标签组件setVerticalAlignment(intValignment)设置标签内容垂直方向的对设置标签内容垂直方向的对齐方式,默认值为齐方式,默认值为CENTER。getHorizontalAlignment()返回标签内容水平方向的对齐方式。返返回标签内容水平方向的对齐方式。返回值为回值为LEFT、CENTER、RIGHT、LEADING或或TRAIL
10、INGsetHorizontalAlignment(intHalignment)设置标签内容设置标签内容水平方向的对齐方式。水平方向的对齐方式。getVerticalTextPosition()返回标签的文本返回标签的文本相对其图像的垂直对齐方式,返回值为相对其图像的垂直对齐方式,返回值为TOP、CENTER或或BOTTOM其中参数其中参数Valignment选项为:选项为:TOP、CENTER或或BOTTOM;参;参数数Halignment选项为:选项为:LEFT、CENTER(只显示图像的标签的(只显示图像的标签的默认值)、默认值)、RIGHT、LEADING(只显示文本的标签的默认值)(
11、只显示文本的标签的默认值)或或TRAILING。Swing常用组件常用组件-按钮组件按钮组件按钮(按钮(JButton)是使用最为普遍的用户界面组件。按钮通常带有)是使用最为普遍的用户界面组件。按钮通常带有某种边框,且可以被鼠标或快捷键激活,能够完成某种功能。某种边框,且可以被鼠标或快捷键激活,能够完成某种功能。JButton的常用属性从的常用属性从javax.swing.SwingConstants继承而来,与继承而来,与JLabel相同相同JButton的常用方法的常用方法:JButton()建立一个按钮建立一个按钮JButton(Iconicon)建立一个有图像的按钮建立一个有图像的按钮
12、JButton(Stringicon)建立一个有文字的按钮建立一个有文字的按钮JButton(Stringtext,Iconicon)建立一个有图像与文字的按钮建立一个有图像与文字的按钮addActionListener(ActionListenerl)将一个将一个ActionListener添加到添加到按钮中按钮中getActionCommand()返回此按钮的动作命令返回此按钮的动作命令Swing常用组件常用组件-按钮组件按钮组件getMnemonic()返回当前模型中的键盘助记符返回当前模型中的键盘助记符getText()返回按钮的文本返回按钮的文本setActionCommand(St
13、ringactionCommand)设置此按钮的动作命设置此按钮的动作命令,令,actionCommand为按钮的动作命令为按钮的动作命令setEnabled(booleanb)启用(或禁用)按钮,启用(或禁用)按钮,b为为true表示启用按表示启用按钮,否则为禁用钮,否则为禁用setHorizontalAlignment(intHalignment)设置图标和文本的水平对设置图标和文本的水平对齐方式齐方式setHorizontalTextPosition(inttextPosition)设置文本相对于图标的设置文本相对于图标的横向位置横向位置setText(Stringtext)设置按钮的文
14、本设置按钮的文本setVerticalAlignment(intValignment)设置图标和文本的垂直对齐设置图标和文本的垂直对齐方式方式Swing常用组件常用组件-按钮组件按钮组件按钮上事件、事件监视器和接口:按钮上事件、事件监视器和接口:按钮可发生按钮可发生ActionEvent事件事件事件监视器接口为事件监视器接口为ActionListener接口接口该接口中的抽象方法为:该接口中的抽象方法为:publicvoidactionPerformed(ActionEvente)Swing常用组件常用组件-文本型组件文本型组件文本框组件(文本框组件(JTextField)文本框组件用来接受用
15、户输入的单行文本信息。文本框组件用来接受用户输入的单行文本信息。JTextField的常用属性的常用属性:notifyAction发送通知(已接收字段内容)的动作名称。通常它必发送通知(已接收字段内容)的动作名称。通常它必须绑定到回车操作须绑定到回车操作CENTER某区域的中心位置某区域的中心位置TOP用于指定框顶部位置的框方向常量用于指定框顶部位置的框方向常量LEFT用于指定框左侧位置的框方向常量用于指定框左侧位置的框方向常量BOTTOM用于指定框底部位置的框方向常量用于指定框底部位置的框方向常量RIGHT用于指定框右侧位置的框方向常量用于指定框右侧位置的框方向常量Swing常用组件常用组件
16、-文本型组件文本型组件JTextField的常用方法的常用方法:JTextField()构造一个新的文本框构造一个新的文本框JTextField(intcolumns)构造一个具有指定列数的新的空构造一个具有指定列数的新的空TextFieldJTextField(Strings)构造一个用指定文本初始化的新构造一个用指定文本初始化的新TextFieldJTextField(Strings,intcolumns)构造一个用指定文本和列初始化的新构造一个用指定文本和列初始化的新TextFieldsetText(Strings)设置文本框中的文本为参数设置文本框中的文本为参数s指定的文本指定的文本g
17、etText()获取文本框中的文本获取文本框中的文本setEditable(booleanb)设置文本框的可编辑性设置文本框的可编辑性addActionListener(ActionListenerl)添加指定的操作侦听器添加指定的操作侦听器l以从此文以从此文本字段接收操作事件本字段接收操作事件Swing常用组件常用组件-文本型组件文本型组件removeActionListener(ActionListenerl)移除指定的操作侦听器,移除指定的操作侦听器,以便不再从此文本字段接收操作事件以便不再从此文本字段接收操作事件getColumns()返回此返回此TextField中的列数中的列数se
18、tColumns(intcolumns)设置此设置此TextField中的列数,然后验证中的列数,然后验证布局布局setFont(Fontf)设置设置当前字体当前字体f。这将移除缓存的行高和列宽,以。这将移除缓存的行高和列宽,以便新的字体能够反映出来,设置字体后将调用便新的字体能够反映出来,设置字体后将调用revalidate文本框上回车时发生的事件、接口及需要实现的方法和文本框上回车时发生的事件、接口及需要实现的方法和JButton相相同。同。Swing常用组件常用组件-文本型组件文本型组件密码框组件(密码框组件(JPasswordField)密码框组件是一个轻量级组件,允许编辑一个单行文本
19、,但不显示原始字符,密码框组件是一个轻量级组件,允许编辑一个单行文本,但不显示原始字符,默认的回显字符为默认的回显字符为“*”。JPasswordField的常用属性与的常用属性与JTextField相同相同JPasswordField的常用方法的常用方法:JPasswordField()构造一个新构造一个新JPasswordField,使其具有默认文档、为,使其具有默认文档、为null的开始文本字符串和为的开始文本字符串和为0的列宽度的列宽度JPasswordField(Stringtext)构造一个利用指定文本初始化的新构造一个利用指定文本初始化的新JPasswordField。将文档模型
20、设置为默认值,列数为。将文档模型设置为默认值,列数为0JPasswordField(intcolumns)构造一个具有指定列数的新的空构造一个具有指定列数的新的空JPasswordField。创建一个默认模型,并将其初始字符串设置为。创建一个默认模型,并将其初始字符串设置为nullJPasswordField(Stringtext,intcolumns)构造一个利用指定文本和列初始构造一个利用指定文本和列初始化的新化的新JPasswordField。将文档模型设置为默认值。将文档模型设置为默认值getEchoChar()返回要用于回显的字符。默认值为返回要用于回显的字符。默认值为“*”。默认值
21、根据当前。默认值根据当前运行的外观可以有所不同。如果未设置,则返回运行的外观可以有所不同。如果未设置,则返回0Swing常用组件常用组件-文本型组件文本型组件getPassword()返回此返回此TextComponent中所包含的文本。如果基中所包含的文本。如果基础文档为础文档为null,则将给出,则将给出NullPointerException。为了取得较高的。为了取得较高的安全性,建议将每个字符设置为安全性,建议将每个字符设置为0以便在使用后清除返回的字符数以便在使用后清除返回的字符数组组setEchoChar(charc)建议设置此建议设置此JPasswordField的回显字符。的回
22、显字符。将值设置为将值设置为0指示希望按照键入查看文本,类似于标准指示希望按照键入查看文本,类似于标准JTextField的行为。的行为。c是要显示的回显字符是要显示的回显字符其中表中参数其中表中参数text是要显示的文本,如果没有文本,则为是要显示的文本,如果没有文本,则为null;参;参数数columns代表列数,值大于等于代表列数,值大于等于0。密码框组件回车时发生的事件、接口及需要实现的方法和密码框组件回车时发生的事件、接口及需要实现的方法和JTextField相同。相同。Swing常用组件常用组件-文本型组件文本型组件文本区组件(文本区组件(JTextArea)文本区组件是一个显示纯
23、文本的多行区域。文本区组件是一个显示纯文本的多行区域。JTextArea的常用属性的常用属性:BOTTOM_ALIGNMENT指定组件底部对齐方式指定组件底部对齐方式LEFT_ALIGNMENT指定组件左对齐方式指定组件左对齐方式RIGHT_ALIGNMENT指定组件右对齐方式指定组件右对齐方式TOP_ALIGNMENT指定组件顶部对齐方式指定组件顶部对齐方式CENTER_ALIGNMENT指定组件居中对齐方式指定组件居中对齐方式Swing常用组件常用组件-文本型组件文本型组件JTextArea的常用方法的常用方法:JTextArea()构造新的文本区。设置默认的模型,初始字符串为构造新的文本
24、区。设置默认的模型,初始字符串为null,行,行/列设置为列设置为0JTextArea(Stringtext)构造显示指定文本的新的文本区。创建默认构造显示指定文本的新的文本区。创建默认模型,行模型,行/列设置为列设置为0JTextArea(introws,intcolumns)构造具有指定行数和列数的新的构造具有指定行数和列数的新的空文本区。创建默认模型,初始字符串为空文本区。创建默认模型,初始字符串为nullJTextArea(Stringtext,introws,intcolumns)构造具有指定文本、行构造具有指定文本、行数和列数的新的文本区。创建默认模型数和列数的新的文本区。创建默认
25、模型JTextArea(Documentdoc,Stringtext,introws,intcolumns)构造具构造具有指定行数和列数以及给定模型有指定行数和列数以及给定模型doc的新的的新的JTextArea。所有构造方。所有构造方法均调用此构造方法法均调用此构造方法setText(Stringtext)将文本区中的文本设置为参数指定的文本将文本区中的文本设置为参数指定的文本getText()获取文本区中的文本获取文本区中的文本insert(Strings,intx)在指定位置在指定位置x处,插入指定文本处,插入指定文本sSwing常用组件常用组件-文本型组件文本型组件replaceRan
26、ge(Stringtext,intstart,intend)用所给的新文本用所给的新文本text替替换从指定位置换从指定位置start开始到指定位置开始到指定位置end结束的文本结束的文本append(Stringtext)将给定文本将给定文本text追加到文档结尾追加到文档结尾getColumns()返回文本区中的列数大于等于返回文本区中的列数大于等于0getColumnWidth()获取列的宽度,列的宽度大于等于获取列的宽度,列的宽度大于等于1getLineCount()确定文本区中所包含的行数,其值大于确定文本区中所包含的行数,其值大于0getLineWrap()获取文本区的换行策略。如
27、果设置为获取文本区的换行策略。如果设置为true,则当,则当行的长度大于所分配的宽度时,将换行。如果设置为行的长度大于所分配的宽度时,将换行。如果设置为false,则始,则始终不换行终不换行getRows()返回文本区中的行数大于返回文本区中的行数大于0setColumns(intcolumns)设置此文本区中的列数。设置新值之设置此文本区中的列数。设置新值之后执行后执行invalidate()Swing常用组件常用组件-文本型组件文本型组件setFont(Fontf)设置当前字体设置当前字体f。这将移除缓存的行高和列宽,。这将移除缓存的行高和列宽,以便新的字体能够反映出来,并且调用以便新的字
28、体能够反映出来,并且调用revalidate()setLineWrap(booleanwrap)设置文本区的换行策略。如果设置文本区的换行策略。如果wrap设置为设置为true,则当行的长度大于所分配的宽度时,将换行。如果,则当行的长度大于所分配的宽度时,将换行。如果设置为设置为false,则始终不换行、,则始终不换行、setRows(introws)设置此文本区的行数。设置新值之后调用设置此文本区的行数。设置新值之后调用invalidate()setWrapStyleWord(booleanword)设置换行方式(如果文本区设置换行方式(如果文本区要换行)。如果要换行)。如果word设置为设
29、置为true,则当行的长度大于所分配的宽,则当行的长度大于所分配的宽度时,将在单词边界(空白)处换行。如果设置为度时,将在单词边界(空白)处换行。如果设置为false,则将在,则将在字符边界处换行。此属性默认为字符边界处换行。此属性默认为false其中表中的参数其中表中的参数text是要显示的文本,可以为是要显示的文本,可以为null;参数;参数rows和和columns分别代表行数和列数,其值大于等于分别代表行数和列数,其值大于等于0。Swing常用组件常用组件-文本型组件文本型组件文本区事件、事件监视器和接口:文本区事件、事件监视器和接口:文本区可发生文本区可发生DocumentEvent
30、事件事件事件监视器接口为事件监视器接口为DocumentListener接口接口该接口中的抽象方法为:该接口中的抽象方法为:voidchangedUpdate(DocumentEvente)给出属性或属性集发生了给出属性或属性集发生了更改的通知更改的通知voidinsertUpdate(DocumentEvente)给出对文档执行了插入操作给出对文档执行了插入操作的通知的通知voidremoveUpdate(DocumentEvente)给出移除了一部分文档的给出移除了一部分文档的通知通知Swing常用组件常用组件-选择型组件选择型组件单选按钮组件(单选按钮组件(JRadioButton)单选
31、按钮组件实现用户的单一选择,用户可以很方便地查看单选单选按钮组件实现用户的单一选择,用户可以很方便地查看单选按钮的状态。按钮的状态。JRadioButton类可以单独使用,也可以与类可以单独使用,也可以与ButtonGroup类联合使用,当单独使用时,可以被选定和取消选类联合使用,当单独使用时,可以被选定和取消选定,当与定,当与ButtonGroup类联合使用时,则组成了一个单选按钮组,类联合使用时,则组成了一个单选按钮组,此时用户只能选定按钮组中的一个单选按钮,取消选定的操作将此时用户只能选定按钮组中的一个单选按钮,取消选定的操作将由由ButtonGroup类自动完成。类自动完成。JRadi
32、oButton的常用属性与的常用属性与JTextArea相同相同Swing常用组件常用组件-选择型组件选择型组件JRadioButton的常用方法的常用方法:JRadioButton()建立一个新的建立一个新的JRadioButtonJRadioButton(Iconicon)建立一个有图像但没有文字的建立一个有图像但没有文字的JRadioButtonJRadioButton(Iconicon,booleanselected)建立一个建立一个有图像但没有文字的有图像但没有文字的JRadioButton,且设置其初始状态,且设置其初始状态(有无被选有无被选取取)JRadioButton(Stri
33、ngtext)建立一个有文字的建立一个有文字的JRadioButtonJRadioButton(Stringtext,booleanselected)建立一个有文字的建立一个有文字的JRadioButton,且设置其初始状态(有无被选取),且设置其初始状态(有无被选取)JRadioButton(Stringtext,Iconicon)建立一个有文字且有图像的建立一个有文字且有图像的JRadioButton,初始状态为无被选取,初始状态为无被选取JRadioButton(Stringtext,Iconicon,booleanselected)建立一个有建立一个有文字且有图像的文字且有图像的JRa
34、dioButton,且设置其初始状态,且设置其初始状态(有无被选取有无被选取)Swing常用组件常用组件-选择型组件选择型组件getText()获取单选按钮的名称获取单选按钮的名称setText(Strings)将单选按钮的名称设置为指定的字符串将单选按钮的名称设置为指定的字符串ssetSelected(booleanb)设置单选按钮的状态设置单选按钮的状态isSelected()返回按钮返回按钮的状态。如果选定了切换按钮,则返回的状态。如果选定了切换按钮,则返回true,否则返回,否则返回falsesetHideActionText(booleanhideActionText)设置设置hid
35、eActionText属性,该属性确定按钮是否显示属性,该属性确定按钮是否显示Action的文本。只有在按钮上已的文本。只有在按钮上已安装了安装了Action时,此方法才有用。参数时,此方法才有用。参数hideActionText是指如果按是指如果按钮的钮的text属性不应该反映属性不应该反映Action的文本,则该参数为的文本,则该参数为true;默认情;默认情况下为况下为falseSwing常用组件常用组件-选择型组件选择型组件单选按钮上发生的事件:单选按钮上发生的事件:单选按钮可发生单选按钮可发生ItemEvent事件事件事件监视器接口为事件监视器接口为ItemListener接口接口该
36、接口中的抽象方法为:该接口中的抽象方法为:publicvoiditemStateChanged(ItemEvente)其中,其中,ItemEvent类提供以下两种方法:类提供以下两种方法:ItemSelectablegetItemSelectable()/返回引发选择变化的事件源返回引发选择变化的事件源intgetStateChange()/返回改变的状态返回改变的状态Swing常用组件常用组件-选择型组件选择型组件ButtonGroup类用来创建一个按钮组,按钮组的作用是负责维护类用来创建一个按钮组,按钮组的作用是负责维护该组按钮的该组按钮的“开启开启”状态,在按钮组中只能有一个按钮处于状态
37、,在按钮组中只能有一个按钮处于“开开启启”状态。状态。ButtonGroup提供的常用方法提供的常用方法:add(AbstractButtonb)添加按钮到按钮组中添加按钮到按钮组中remove(AbstractButtonb)从按钮组中移除按钮从按钮组中移除按钮getButtonCount()返回按钮组中包含按钮的个数,返回值为返回按钮组中包含按钮的个数,返回值为int型型getElements()返回一个返回一个Enumeration类型的对象,通过该对象可以类型的对象,通过该对象可以遍历按钮组中包含的所有按钮对象遍历按钮组中包含的所有按钮对象Swing常用组件常用组件-选择型组件选择型组
38、件选择框组件(选择框组件(JCheckBox)选择框(也被称为复选框)提供两种状态,一种是选中,另一种是选择框(也被称为复选框)提供两种状态,一种是选中,另一种是未选中,实现用户的多种选择。未选中,实现用户的多种选择。JCheckBox的常用方法的常用方法:JCheckBox()创建一个没有文本、没有图标并且最初未被选定的复创建一个没有文本、没有图标并且最初未被选定的复选框选框JCheckBox(Iconicon)创建有一个图标、最初未被选定的复选创建有一个图标、最初未被选定的复选框框JCheckBox(Stringtext)创建一个带文本的、最初未被选定的复创建一个带文本的、最初未被选定的复
39、选框选框JCheckBox(Actiona)创建一个复选框,其属性从所提供的创建一个复选框,其属性从所提供的Action获取获取JCheckBox(Stringtext,booleanselected)创建一个带文创建一个带文本的复选框,并指定其最初是否处于选定状态本的复选框,并指定其最初是否处于选定状态JCheckBox(Stringtext,Iconicon)创建带有指定文本和图标的、最创建带有指定文本和图标的、最初未选定的复选框初未选定的复选框JCheckBox(Stringtext,Iconicon,booleanselected)创建一个带文本创建一个带文本和图标的复选框,并指定其最
40、初是否处于选定状态和图标的复选框,并指定其最初是否处于选定状态Swing常用组件常用组件-选择型组件选择型组件addItemListener(ItemListenerl)向选择框增加监视向选择框增加监视ItemEvent事件的监事件的监视器视器lremoveItemListener(ItemListenerl)移去选择框上的移去选择框上的ItemEvent事件的事件的监视器监视器lgetText()获取选择框的名称获取选择框的名称setText(Strings)将选择框的名称设置为指定的字符串将选择框的名称设置为指定的字符串ssetSelected(booleanb)设置选择框的状态设置选择框
41、的状态isBorderPaintedFlat()获取获取borderPaintedFlat属性的值属性的值setBorderPaintedFlat(booleanb)设置设置borderPaintedFlat属性,该属性属性,该属性为外观提供了关于复选框边框外观的提示。在为外观提供了关于复选框边框外观的提示。在JCheckBox实例用作组件实例用作组件(如(如JTable或或JTree)中的渲染器时,该属性通常被设置为)中的渲染器时,该属性通常被设置为true。borderPaintedFlat属性的默认值为属性的默认值为false。此方法触发一个属性更改事件。此方法触发一个属性更改事件。一些
42、外观也许不实现平面边框;它们将忽略此属性。参数一些外观也许不实现平面边框;它们将忽略此属性。参数b为为true则请求则请求将边框绘制为平面的;为将边框绘制为平面的;为false则请求为普通边框则请求为普通边框Swing常用组件常用组件-选择型组件选择型组件其中表中参数其中表中参数icon是要显示的是要显示的Icon图像;参数图像;参数selected指示最初选指示最初选择状态的择状态的boolean值,如果该参数为值,如果该参数为true,则复选框被选定;参数,则复选框被选定;参数text是复选框的文本。是复选框的文本。选择框上发生的事件、接口及需要实现的方法和选择框上发生的事件、接口及需要实
43、现的方法和JRadioButton相相同同Swing常用组件常用组件-选择型组件选择型组件下拉列表框组件(下拉列表框组件(JComboBox)下拉列表框组件是将按钮或可编辑字段与下拉列表组合的组件。下拉列表框组件是将按钮或可编辑字段与下拉列表组合的组件。用户可以从下拉列表中选择值,下拉列表在用户请求时显示。如用户可以从下拉列表中选择值,下拉列表在用户请求时显示。如果使组合框处于可编辑状态,则组合框将包括用户可在其中键入果使组合框处于可编辑状态,则组合框将包括用户可在其中键入值的可编辑字段。值的可编辑字段。JComboBox的常用属性的常用属性:dataModel数据模型数据模型Renderer
44、渲染器渲染器Editor编辑器编辑器maximumRowCount不使用滚动条可以显示的最大项数不使用滚动条可以显示的最大项数isEditable可编辑可编辑Swing常用组件常用组件-选择型组件选择型组件JComboBox的常用方法的常用方法:JComboBox()创建具有默认数据模型的创建具有默认数据模型的JComboBox。默认的数据模型为。默认的数据模型为空对象列表。使用空对象列表。使用addItem添加项。默认情况下,选择数据模型中的第一添加项。默认情况下,选择数据模型中的第一项项JComboBox(ComboBoxModelaModel)创建一个创建一个JComboBox,其项取自
45、,其项取自现有的现有的ComboBoxModel。由于提供了。由于提供了ComboBoxModel,使用此构造方法,使用此构造方法创建的组合框不创建默认组合框模型,这可能影响插入、移除和添加方法创建的组合框不创建默认组合框模型,这可能影响插入、移除和添加方法的行为方式。参数的行为方式。参数aModel提供显示的项列表的提供显示的项列表的ComboBoxModelJComboBox(Objectitems)创建包含指定数组中的元素的创建包含指定数组中的元素的JComboBox。默认情况下,选择数组中的第一项(因而也选择了该项的数据模型)。参默认情况下,选择数组中的第一项(因而也选择了该项的数据模
46、型)。参数数items是要插入到组合框的对象数组是要插入到组合框的对象数组removeActionListener(ActionListenerl)移除移除ActionListenerremoveAllItems()从选项列表中移除所有项从选项列表中移除所有项removeItem(ObjectanObject)从选项列表中移除项从选项列表中移除项removeItemAt(intanIndex)移除移除anIndex处的项处的项Swing常用组件常用组件-选择型组件选择型组件addItem(Objectitem)为选项列表添加项为选项列表添加项insertItemAt(Objectitem,in
47、tindex)在选项列表中的给定索引处插入项在选项列表中的给定索引处插入项setSelectedItem(ObjectanObject)将组合框显示区域中所选项设置为参将组合框显示区域中所选项设置为参数中的对象数中的对象setMaximumRowCount(intcount)设置设置JComboBox显示的最大行数显示的最大行数setEditable(booleanaFlag)确定确定JComboBox字段是否可编辑字段是否可编辑setSelectedIndex(intanIndex)选择索引选择索引anIndex处的项处的项setModel(ComboBoxModelaModel)设置设置J
48、ComboBox用于获取项列表的用于获取项列表的数据模型数据模型下拉列表框上可以发生下拉列表框上可以发生ActionEvent、ItemEvent等多个事件,但其主要等多个事件,但其主要使用的事件是使用的事件是ActionEvent,其接口及实现方法和,其接口及实现方法和JRadioButton相同相同Swing常用组件常用组件-选择型组件选择型组件列表框组件(列表框组件(JList)列表框组件实现一个列表框,列表框与选择框的主要区别就是列表框可列表框组件实现一个列表框,列表框与选择框的主要区别就是列表框可以多选。以多选。JList的常用属性的常用属性:BOTTOM_ALIGNMENT指定组件
49、底部对齐方式指定组件底部对齐方式LEFT_ALIGNMENT指定组件左对齐方式指定组件左对齐方式RIGHT_ALIGNMENT指定组件右对齐方式指定组件右对齐方式TOP_ALIGNMENT指定组件顶部对齐方式指定组件顶部对齐方式CENTER_ALIGNMENT指定组件居中对齐方式指定组件居中对齐方式HORIZONTAL_WRAP指示指示“报纸样式报纸样式”布局,单元按先水平后垂直排布局,单元按先水平后垂直排列列VERTICAL指示单个列中单元的垂直布局;默认布局指示单个列中单元的垂直布局;默认布局VERTICAL_WRAP指示指示“报纸样式报纸样式”布局,单元按先垂直后水平排列布局,单元按先垂
50、直后水平排列Swing常用组件常用组件-选择型组件选择型组件JList的常用方法的常用方法:JList()构造一个使用空模型的构造一个使用空模型的JListJList(ListModeldataModel)构造一个构造一个JList,使其使用指定的非,使其使用指定的非null模型显示元素模型显示元素setSelectedIndex(intindex)选中指定索引的一个选项选中指定索引的一个选项setSelectedIndices(intindices)选中指定索引的一组选项选中指定索引的一组选项getSelectedIndices()以以int形式获得被选中的所有选项的索引值形式获得被选中的所