资源预览内容
第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
第9页 / 共49页
第10页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
JavaJava应用程序设计应用程序设计第第8 8章章 SwingSwing组件组件 参考教材:参考教材:JavaJava实用教程实用教程, 肖磊,人民邮电出版社肖磊,人民邮电出版社8.1 Swing8.1 Swing概述概述n nSwingSwing是基于是基于AWTAWT开发的,开发的,AWTAWT的组件全的组件全 部是重量级的,而相应的组件在部是重量级的,而相应的组件在SwingSwing中全中全 部都改成轻量级的;部都改成轻量级的;n nSwingSwing组件的跨平台性比较好,而且增加了组件的跨平台性比较好,而且增加了 一些组件;一些组件; n nSwingSwing是是JFCJFC(Java Foundation ClassJava Foundation Class) 的一部分,其余的一部分,其余5 5个部分是:个部分是:AWTAWT,辅助功,辅助功 能能APIAPI,2D API2D API和对拖放功能增强的支持;和对拖放功能增强的支持;n nSwingSwing中的每一个轻量级组件必须出现在重中的每一个轻量级组件必须出现在重 量级容器中,所以量级容器中,所以SwingSwing的小应用程序的小应用程序 JAppletJApplet、窗体、窗口、对话框都必须是重、窗体、窗口、对话框都必须是重 量组件,以提供绘制量组件,以提供绘制SwingSwing轻量级组件的窗轻量级组件的窗 口;口;n nSwingSwing组件由组件由4040多个,一部分为多个,一部分为AWTAWT组件组件 的替代品,另一部分是提供给用户开发图的替代品,另一部分是提供给用户开发图 形用户界面增添的组件;形用户界面增添的组件;8.1 Swing8.1 Swing概述概述8.2 8.2 创建窗体创建窗体n n利用利用JFrameJFrame类来创建窗体;类来创建窗体;n nsetTitle(StringsetTitle(String title); / title); /设置窗体标题;设置窗体标题;n nsetBounds(intsetBounds(int x, x, intint y, y, intint width, width, intint height); /height); /设置窗体的位置和大小设置窗体的位置和大小n nsetDefaultCloseOperation(intsetDefaultCloseOperation(int operation);/operation);/设置关闭按钮的动作设置关闭按钮的动作n noperationoperation为为JFrameJFrame类中用来设置关闭按类中用来设置关闭按 钮动作的静态常量,见下页表;钮动作的静态常量,见下页表;8.2 8.2 创建窗体创建窗体静静态态态态常量常量常量常量值值值值执执执执行操作行操作HIDE_ON_CLOSEHIDE_ON_CLOSE1 1隐隐隐隐藏窗口,默藏窗口,默认认认认DO_NOTHING_ON_CLOSEDO_NOTHING_ON_CLOSE0 0不不执执执执行任何操作行任何操作DISPOSE_ON_CLOSEDISPOSE_ON_CLOSE2 2移除窗口移除窗口EXIT_ON_CLOSEEXIT_ON_CLOSE3 3退出窗口退出窗口8.2 8.2 创建窗体创建窗体n n在利用在利用JFrameJFrame类创建窗体时,必须在最后类创建窗体时,必须在最后 通过该类的通过该类的setVisible(truesetVisible(true) );将该窗体设;将该窗体设 置为可见,默认为不可见;置为可见,默认为不可见;n n在在setVisible(truesetVisible(true) )之后的对窗体设置将无之后的对窗体设置将无 效;效;n n例子:例子:MyFirstFrame.javaMyFirstFrame.java8.3 8.3 常用组件常用组件n n8.3.1 8.3.1 JLableJLable标签组件标签组件n n通过通过JLableJLable类创建标签组件;类创建标签组件;n nsetText(StringsetText(String text); / text); /设置标签设置的文设置标签设置的文 本本n nsetFont(FontsetFont(Font font); / font); /设置文本字体及大小设置文本字体及大小 ;n nsetHorizontalAlignment(intsetHorizontalAlignment(int alignment); alignment); / /设置文本的显示位置,该参数可从下表中设置文本的显示位置,该参数可从下表中 选择选择8.3.1 8.3.1 JLabelJLabel标签的创建标签的创建n nJLabelJLabel类用于设置标签内容水平位置的常量类用于设置标签内容水平位置的常量静静态态态态常常 量量常量常量值值值值水平位水平位 置置 LEFTLEFT2 2靠左靠左 CENTECENTER R0 0具中具中RIGHTRIGHT4 4靠右靠右 setIcon(IconsetIcon(Icon icon); / icon); /设置标签中可显示的图片设置标签中可显示的图片 setHorizontalTextPosition(intsetHorizontalTextPosition(int textPositiontextPosition); /); /设设 置文字相对于图像在水平方向上的位置,可从下表置文字相对于图像在水平方向上的位置,可从下表 中选择中选择静静态态态态常量常量常量常量值值值值水平方向位置水平方向位置TOPTOP1 1文字在文字在图图图图片上方片上方CENTERCENTER0 0文字与文字与图图图图片在垂片在垂 直文向上重叠直文向上重叠显显显显 示示 BOTTOMBOTTOM3 3文字文字显显显显示在示在图图图图 片下方片下方例子:例子: LabelDemo.javaLabelDemo.java8.3.2 8.3.2 JButtonJButton组件组件n n通过通过JButtonJButton类来创建按钮组件;类来创建按钮组件;n nsetText(StringsetText(String text); / text); /设置按钮的标签文设置按钮的标签文 本本n nsetIcon(IconsetIcon(Icon defaultIcondefaultIcon); /); /设置按钮在设置按钮在 默认状态下显示的图片;默认状态下显示的图片;n nsetRolloverIcon(IconsetRolloverIcon(Icon rolloverIconrolloverIcon); /); /设设 置当光标移到按钮上时显示的图片;置当光标移到按钮上时显示的图片;n nsetPressedIcon(IconsetPressedIcon(Icon pressedIconpressedIcon); /); /设设 置按钮被按下时显示的图片;置按钮被按下时显示的图片;8.3.2 8.3.2 JButtonJButton组件组件n nsetMargin(setMargin(InsetsInsets m); / m); /将按钮边框和标签四周的将按钮边框和标签四周的 间隔均设置为间隔均设置为0 0;n nInsetsInsets类的构造方法类的构造方法: :n nInsetsInsets(int(int top, top, intint left, left, intint bottom, bottom, intint right); right);n n/4/4个整形参数依次为:标签上方,左侧,下方和个整形参数依次为:标签上方,左侧,下方和 右侧的间隔;右侧的间隔;n nsetContentAreaFilled(booleansetContentAreaFilled(boolean b); / b); /设置为不绘设置为不绘 制按钮的内容区域,即设置按钮的背景为透明,制按钮的内容区域,即设置按钮的背景为透明, 当参数为当参数为falsefalse时为不绘制,默认为时为不绘制,默认为true;true;n nsetBorderPainted(booleansetBorderPainted(boolean b); / b); /设置不绘制按设置不绘制按 钮的边框,默认为钮的边框,默认为true,true,表示绘制;表示绘制;8.3.3 8.3.3 JRadioButtonJRadioButton组件组件n nJRadioButtonJRadioButton组件实现一个单选按钮,可组件实现一个单选按钮,可 以单独使用,也可以和以单独使用,也可以和ButtonGroupButtonGroup类联类联 合使用;合使用;n n单独使用:该按钮可以被选定和取消;单独使用:该按钮可以被选定和取消;n n与与ButtonGroupButtonGroup联合使用:用户只能选定联合使用:用户只能选定 按钮组中的一个按钮,其取消选定的操作按钮组中的一个按钮,其取消选定的操作 由由ButtonGroupButtonGroup类自动完成;类自动完成;8.3.3 8.3.3 JRadioButton(ButtonGroupJRadioButton(ButtonGroup) )n nButtonGroupButtonGroup类用来创建一个按钮组,其类用来创建一个按钮组,其 作用负责维护本组按钮的作用负责维护本组按钮的“ “开启开启” ”状态,每状态,每 个组中只能有一个按钮处于个组中只能有一个按钮处于“ “开启开启” ”状态;状态;n n经常与经常与JRadioButtonJRadioButton, , JRadioButtonMenuItemJRadioButtonMenuItem, , JToggleButtonJToggleButton 类型的按钮一起使用;类型的按钮一起使用;n nButtonGroupButtonGroup类提供的常用方法(下页表类提供的常用方法(下页表 )方法方法功能功能add(AbstractButtonadd(AbstractButton b) b)添加按添加按钮钮钮钮到按到按钮组钮组钮组钮组 中中remove(AbstractButtonremove(AbstractButton b) b) 移除按移除按钮组钮组钮组钮组 中的按中的按钮钮钮钮getButtonCountgetButtonCount() ()返回按返回按钮组钮组钮组钮组 中的按中的按钮钮钮钮个数个数getElementsgetElements() ()返回一个返回一个EnumerationEnumeration对对对对象,象, 可以遍可以遍历历历历按按钮组钮组钮组钮组 中包含的所有中包含的所有 按按钮钮钮钮ButtonGroupButtonGroup类提供的常用方法类提供的常用方法8.3.3 8.3.3 JRadioButtonJRadioButton(常用方法(常用方法 )n nsetText(StringsetText(String text); / text); /设置单选按钮文本设置单选按钮文本 ;n nsetSelected(booleansetSelected(boolean b); / b); /设置按钮的状设置按钮的状 态,态,truetrue为选中,默认为为选中,默认为false;false;n n例子:例子:RadioButtonDemo.javaRadioButtonDemo.java8.3.4 8.3.4 JCheckBoxJCheckBox组件组件n nJCheckBoxJCheckBox为一复选框,用户可以
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号