Java应用程序设计(Swing GUI).ppt_第1页
Java应用程序设计(Swing GUI).ppt_第2页
Java应用程序设计(Swing GUI).ppt_第3页
Java应用程序设计(Swing GUI).ppt_第4页
Java应用程序设计(Swing GUI).ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaJava应用程序设计应用程序设计 第第8 8章章 SwingSwing组件组件 参考教材:参考教材:JavaJava实用教程实用教程, 肖磊,人民邮电出版社肖磊,人民邮电出版社 8.1 Swing8.1 Swing概述概述 n n SwingSwing是基于是基于AWTAWT开发的,开发的,AWTAWT的组件全的组件全 部是重量级的,而相应的组件在部是重量级的,而相应的组件在SwingSwing中全中全 部都改成轻量级的;部都改成轻量级的; n n SwingSwing组件的跨平台性比较好,而且增加了组件的跨平台性比较好,而且增加了 一些组件;一些组件; n n SwingSwing是是JFCJFC(Java Foundation ClassJava Foundation Class) 的一部分,其余的一部分,其余5 5个部分是:个部分是:AWTAWT,辅助功,辅助功 能能APIAPI,2D API2D API和对拖放功能增强的支持;和对拖放功能增强的支持; n n SwingSwing中的每一个轻量级组件必须出现在重中的每一个轻量级组件必须出现在重 量级容器中,所以量级容器中,所以SwingSwing的小应用程序的小应用程序 JAppletJApplet、窗体、窗口、对话框都必须是重、窗体、窗口、对话框都必须是重 量组件,以提供绘制量组件,以提供绘制SwingSwing轻量级组件的窗轻量级组件的窗 口;口; n n SwingSwing组件由组件由4040多个,一部分为多个,一部分为AWTAWT组件组件 的替代品,另一部分是提供给用户开发图的替代品,另一部分是提供给用户开发图 形用户界面增添的组件;形用户界面增添的组件; 8.1 Swing8.1 Swing概述概述 8.2 8.2 创建窗体创建窗体 n n 利用利用JFrameJFrame类来创建窗体;类来创建窗体; n n setTitle(StringsetTitle(String title); / title); /设置窗体标题;设置窗体标题; n n setBounds(intsetBounds(int x, x, intint y, y, intint width, width, intint height); /height); /设置窗体的位置和大小设置窗体的位置和大小 n n setDefaultCloseOperation(intsetDefaultCloseOperation(int operation);/operation);/设置关闭按钮的动作设置关闭按钮的动作 n n operationoperation为为JFrameJFrame类中用来设置关闭按类中用来设置关闭按 钮动作的静态常量,见下页表;钮动作的静态常量,见下页表; 8.2 8.2 创建窗体创建窗体 静静态态态态常量常量常量常量值值值值执执执执行操作行操作 HIDE_ON_CLOSEHIDE_ON_CLOSE 1 1 隐隐隐隐藏窗口,默藏窗口,默认认认认 DO_NOTHING_ON_CLOSEDO_NOTHING_ON_CLOSE 0 0 不不执执执执行任何操作行任何操作 DISPOSE_ON_CLOSEDISPOSE_ON_CLOSE 2 2 移除窗口移除窗口 EXIT_ON_CLOSEEXIT_ON_CLOSE 3 3 退出窗口退出窗口 8.2 8.2 创建窗体创建窗体 n n 在利用在利用JFrameJFrame类创建窗体时,必须在最后类创建窗体时,必须在最后 通过该类的通过该类的setVisible(truesetVisible(true) );将该窗体设;将该窗体设 置为可见,默认为不可见;置为可见,默认为不可见; n n 在在setVisible(truesetVisible(true) )之后的对窗体设置将无之后的对窗体设置将无 效;效; n n 例子:例子:MyFirstFrame.javaMyFirstFrame.java 8.3 8.3 常用组件常用组件 n n 8.3.1 8.3.1 JLableJLable标签组件标签组件 n n 通过通过JLableJLable类创建标签组件;类创建标签组件; n n setText(StringsetText(String text); / text); /设置标签设置的文设置标签设置的文 本本 n n setFont(FontsetFont(Font font); / font); /设置文本字体及大小设置文本字体及大小 ; n n setHorizontalAlignment(intsetHorizontalAlignment(int alignment); alignment); / /设置文本的显示位置,该参数可从下表中设置文本的显示位置,该参数可从下表中 选择选择 8.3.1 8.3.1 JLabelJLabel标签的创建标签的创建 n n JLabelJLabel类用于设置标签内容水平位置的常量类用于设置标签内容水平位置的常量 静静态态态态常常 量量 常量常量值值值值水平位水平位 置置 LEFTLEFT 2 2 靠左靠左 CENTECENTE R R 0 0 具中具中 RIGHTRIGHT 4 4 靠右靠右 setIcon(IconsetIcon(Icon icon); / icon); /设置标签中可显示的图片设置标签中可显示的图片 setHorizontalTextPosition(intsetHorizontalTextPosition(int textPositiontextPosition); /); /设设 置文字相对于图像在水平方向上的位置,可从下表置文字相对于图像在水平方向上的位置,可从下表 中选择中选择 静静态态态态常量常量常量常量值值值值水平方向位置水平方向位置 TOPTOP 1 1 文字在文字在图图图图片上方片上方 CENTERCENTER 0 0 文字与文字与图图图图片在垂片在垂 直文向上重叠直文向上重叠显显显显 示示 BOTTOMBOTTOM 3 3 文字文字显显显显示在示在图图图图 片下方片下方 例子:例子: LabelDemo.javaLabelDemo.java 8.3.2 8.3.2 JButtonJButton组件组件 n n 通过通过JButtonJButton类来创建按钮组件;类来创建按钮组件; n n setText(StringsetText(String text); / text); /设置按钮的标签文设置按钮的标签文 本本 n n setIcon(IconsetIcon(Icon defaultIcondefaultIcon); /); /设置按钮在设置按钮在 默认状态下显示的图片;默认状态下显示的图片; n n setRolloverIcon(IconsetRolloverIcon(Icon rolloverIconrolloverIcon); /); /设设 置当光标移到按钮上时显示的图片;置当光标移到按钮上时显示的图片; n n setPressedIcon(IconsetPressedIcon(Icon pressedIconpressedIcon); /); /设设 置按钮被按下时显示的图片;置按钮被按下时显示的图片; 8.3.2 8.3.2 JButtonJButton组件组件 n n setMargin(setMargin(InsetsInsets m); / m); /将按钮边框和标签四周的将按钮边框和标签四周的 间隔均设置为间隔均设置为0 0; n n InsetsInsets类的构造方法类的构造方法: : n n InsetsInsets(int(int top, top, intint left, left, intint bottom, bottom, intint right); right); n n /4/4个整形参数依次为:标签上方,左侧,下方和个整形参数依次为:标签上方,左侧,下方和 右侧的间隔;右侧的间隔; n n setContentAreaFilled(booleansetContentAreaFilled(boolean b); / b); /设置为不绘设置为不绘 制按钮的内容区域,即设置按钮的背景为透明,制按钮的内容区域,即设置按钮的背景为透明, 当参数为当参数为falsefalse时为不绘制,默认为时为不绘制,默认为true;true; n n setBorderPainted(booleansetBorderPainted(boolean b); / b); /设置不绘制按设置不绘制按 钮的边框,默认为钮的边框,默认为true,true,表示绘制;表示绘制; 8.3.3 8.3.3 JRadioButtonJRadioButton组件组件 n n JRadioButtonJRadioButton组件实现一个单选按钮,可组件实现一个单选按钮,可 以单独使用,也可以和以单独使用,也可以和ButtonGroupButtonGroup类联类联 合使用;合使用; n n 单独使用:该按钮可以被选定和取消;单独使用:该按钮可以被选定和取消; n n 与与ButtonGroupButtonGroup联合使用:用户只能选定联合使用:用户只能选定 按钮组中的一个按钮,其取消选定的操作按钮组中的一个按钮,其取消选定的操作 由由ButtonGroupButtonGroup类自动完成;类自动完成; 8.3.3 8.3.3 JRadioButton(ButtonGroupJRadioButton(ButtonGroup) ) n n ButtonGroupButtonGroup类用来创建一个按钮组,其类用来创建一个按钮组,其 作用负责维护本组按钮的作用负责维护本组按钮的“ “开启开启” ”状态,每状态,每 个组中只能有一个按钮处于个组中只能有一个按钮处于“ “开启开启” ”状态;状态; n n 经常与经常与JRadioButtonJRadioButton, , JRadioButtonMenuItemJRadioButtonMenuItem, , JToggleButtonJToggleButton 类型的按钮一起使用;类型的按钮一起使用; n n ButtonGroupButtonGroup类提供的常用方法(下页表类提供的常用方法(下页表 ) 方法方法功能功能 add(AbstractButtonadd(AbstractButton b) b)添加按添加按钮钮钮钮到按到按钮组钮组钮组钮组 中中 remove(AbstractButtonremove(AbstractButton b) b) 移除按移除按钮组钮组钮组钮组 中的按中的按钮钮钮钮 getButtonCountgetButtonCount() ()返回按返回按钮组钮组钮组钮组 中的按中的按钮钮钮钮个数个数 getElementsgetElements() ()返回一个返回一个EnumerationEnumeration对对对对象,象, 可以遍可以遍历历历历按按钮组钮组钮组钮组 中包含的所有中包含的所有 按按钮钮钮钮 ButtonGroupButtonGroup类提供的常用方法类提供的常用方法 8.3.3 8.3.3 JRadioButtonJRadioButton(常用方法(常用方法 ) n n setText(StringsetText(String text); / text); /设置单选按钮文本设置单选按钮文本 ; n n setSelected(booleansetSelected(boolean b); / b); /设置按钮的状设置按钮的状 态,态,truetrue为选中,默认为为选中,默认为false;false; n n 例子:例子:RadioButtonDemo.javaRadioButtonDemo.java 8.3.4 8.3.4 JCheckBoxJCheckBox组件组件 n n JCheckBoxJCheckBox为一复选框,用户可以同时选为一复选框,用户可以同时选 定多个;定多个; n n setText(StringsetText(String text); / text); /设置复选框的文本设置复选框的文本 n n setSelected(booleansetSelected(boolean b); / b); /设置该按钮的设置该按钮的 选中状态,选中状态,truetrue表示选中,默认为表示选中,默认为falsefalse; n n 例子:例子:CheckBoxDemo.javaCheckBoxDemo.java 8.3.5 8.3.5 JComboBoxJComboBox组件组件( (选择框选择框) ) n n JComboBoxJComboBox组件实现一个选择框,用户可组件实现一个选择框,用户可 从中选取一项(只能一项);若设置为可编从中选取一项(只能一项);若设置为可编 辑状态,则可以在选择框中输入相应的值;辑状态,则可以在选择框中输入相应的值; n n 创建创建JComboBoxJComboBox组件的方法组件的方法 n n (1)JComboBox(Object items)(1)JComboBox(Object items)构造函数构造函数 String String idCardsidCards=“=“身份证身份证” ”,”,”士兵证士兵证” ”,”,”驾驶证驾驶证 ” ”; ; JComboxBoxJComboxBox idCardsComboBoxidCardsComboBox= = new new JComboxBox(idCardsJComboxBox(idCards); ); 8.3.5 8.3.5 JComboBoxJComboBox组件组件 n n (2)setModel(ComboBoxModel (2)setModel(ComboBoxModel aModelaModel) ) 方法方法 String String idCardsidCards=“=“身份证身份证” ”,”,”士兵证士兵证” ”,”,”驾驶证驾驶证 ” ”; ; JComboBoxJComboBox icbicb =new =new JComboBoxJComboBox();(); icb.setModel(newicb.setModel(new DefaultComboBoxModel(idCardsDefaultComboBoxModel(idCards);); n(3)addItem(Object item);和 insertItemAt(Object item, int index); JComboBox icb = new JComboBox(); icb.addItem(“士兵证”); icb.addItem(“驾驶证”); icb.insertItemAt(“身份证”,0); 8.3.5 8.3.5 JComboBoxJComboBox组件组件 8.3.5 8.3.5 JComboBoxJComboBox组件组件 方法方法功能功能 addItem(ObjectaddItem(Object item); item);添加添加选项选项选项选项 至列表尾部至列表尾部 insertItemAt(ObjectinsertItemAt(Object item, item, intint index);index); 在指定位置插入在指定位置插入选项选项选项选项 removeItem(ObjectremoveItem(Object item); item);移除指定移除指定选项选项选项选项 removeItemAt(intremoveItemAt(int index); index);移除指定索引位置上的移除指定索引位置上的选项选项选项选项 removeAllItemsremoveAllItems() ()移除所有移除所有选项选项选项选项 setSelectedItem(ObjectsetSelectedItem(Object item); item);指定某指定某选项为选项为选项为选项为 默默认选项认选项认选项认选项 setSelectedIndex(intsetSelectedIndex(int index); index);指定特定索引位置的指定特定索引位置的选项为选项为选项为选项为 默默认认认认 setMaximumRowCount(intsetMaximumRowCount(int count)count) 选择选择选择选择 框框弹弹弹弹出出时时时时最多最多显显显显示的行数,示的行数, 默默认为认为认为认为 8 8行行 setEditable(booleansetEditable(boolean isEditisEdit); );选择选择选择选择 框可否框可否编辑编辑编辑编辑 ,默,默认认认认falsefalse JComboBoxJComboBox类提供的常用方法类提供的常用方法 uu例子:例子:ComboBoxDemo.javaComboBoxDemo.java 8.3.6 8.3.6 JListJList组件组件 n n 与与JComboBoxJComboBox类似,不同之处是可以多选;类似,不同之处是可以多选; n n 初始化列表项初始化列表项 Integer months=1,2,3,4,5,6,7,8,9,10,11,12;Integer months=1,2,3,4,5,6,7,8,9,10,11,12; JListJList list=new list=new JList(monthsJList(months); ); n n JListJList列表框的列表框的3 3种选取模式,通过种选取模式,通过ListSelectionModelListSelectionModel类类 中的静态常量进行指定;中的静态常量进行指定; 常量常量常量常量值值值值作用作用 SINGLE_SELECTIONSINGLE_SELECTION 0 0 只允只允许单选许单选许单选许单选 SINGLE_INTERVAL_SELECTIONSINGLE_INTERVAL_SELECTION 1 1 只允只允许连续许连续许连续许连续 多多选选选选 MULTIPLE_INTERVAL_SELECTIONMULTIPLE_INTERVAL_SELECTION 2 2 可多可多选选选选,可,可连续连续连续连续 / /间间间间隔隔 8.3.6 8.3.6 JListJList组件组件 n n JListJList提供的常用方法提供的常用方法 setSelectedIndex(intsetSelectedIndex(int index): index):选中指定索引的一个选选中指定索引的一个选 项;项; setSelectedIndices(intsetSelectedIndices(int indices); indices); 选中指定索引的一选中指定索引的一 组选项;组选项; setSelectionBackground(ColorsetSelectionBackground(Color selectionBackgroudselectionBackgroud): ): 指定被选项的背景色;指定被选项的背景色; setSelectionForeground(ColorsetSelectionForeground(Color selectionForegroundselectionForeground); ); 指定被选项的前景色;指定被选项的前景色; getSelectedIndicesgetSelectedIndices(): (): 以以intint 形式获得所有被选项的形式获得所有被选项的 索引值;索引值; getSelectedValuesgetSelectedValues(): (): 以以ObjectObject形式获得所有被选项形式获得所有被选项 的内容;的内容; 8.3.6 8.3.6 JListJList组件组件 n n JListJList提供的常用方法提供的常用方法 clearSelectionclearSelection(): (): 取消所有被选中的项;取消所有被选中的项; isSelectionEmptyisSelectionEmpty(): (): 是否有被选中的项,若是否有被选中的项,若 有,则返回有,则返回true;true; isSelectedIndex(intisSelectedIndex(int index); index); 指定的索引是否指定的索引是否 被选中,若选中,则返回被选中,若选中,则返回true;true; ensureIndexIsVisible(intensureIndexIsVisible(int index); index); 使指定项在使指定项在 选择窗口中可见;选择窗口中可见; setFixedCellHeight(intsetFixedCellHeight(int height); height); 设置窗口中设置窗口中 每个选项的高度;每个选项的高度; setVisibleRowCount(intsetVisibleRowCount(int count); count); 设置在选择设置在选择 窗口中最多可见的选项数;窗口中最多可见的选项数; 8.3.6 8.3.6 JListJList组件组件 n n JListJList提供的常用方法提供的常用方法 getPreferredScrollableViewportSizegetPreferredScrollableViewportSize(); (); 获得获得 使指定个数选项可见需要的窗口高度;使指定个数选项可见需要的窗口高度; setSelectionModel(intsetSelectionModel(int selectModelselectModel); ); 设置选设置选 择框的选取模式;择框的选取模式; n n 例子:例子:ListDemo.javaListDemo.java 8.3.7 8.3.7 JTextFieldJTextField组件组件 n n 创建一个单行文本框;创建一个单行文本框; n n 设置默认文本:设置默认文本: JTextFieldJTextField tf tf=new =new JTextFieldJTextField(“(“请输入姓名请输入姓名 ” ”); ); n n JTextFieldJTextField类提供的常用方法类提供的常用方法 setText(StringsetText(String text); / text); /设置文本框的文本设置文本框的文本 getPreferredSizegetPreferredSize(); /(); /获得文本框的首选大小获得文本框的首选大小 ,返回,返回DimensionsDimensions类型的对象;类型的对象; scrollRectToVisible(RectanglescrollRectToVisible(Rectangle r); / r); /向左或向左或 向右滚动文本框中的内容;向右滚动文本框中的内容; setColumns(intsetColumns(int columns); / columns); /设置文本框最多设置文本框最多 可显示的列数;可显示的列数; setFont(FontsetFont(Font f); / f); /设置文本框的字体;设置文本框的字体; setScrollOffset(intsetScrollOffset(int scrollOffsetscrollOffset); /); /设置文本框的移动设置文本框的移动 偏移量,以像素为单位;偏移量,以像素为单位; setHorizontalAlignment(intsetHorizontalAlignment(int alignment); / alignment); /设置文本设置文本 框的内容水平对齐方式;由下表的常量指定;框的内容水平对齐方式;由下表的常量指定; 静静态态态态常常 量量 常量常量值值值值显显显显示位示位 置置 LEFTLEFT 2 2 靠左靠左 CENTCENT ERER 0 0 具中具中 RIGHTRIGHT 4 4靠右靠右 例子:例子:TextFieldDemo.javaTextFieldDemo.java 8.3.8 8.3.8 JPasswordFieldJPasswordField组件组件 n n 创建一个密码框,不显示用户输入的内容,只显创建一个密码框,不显示用户输入的内容,只显 示一个特定的字符;示一个特定的字符; n n JPasswordFieldJPasswordField类提供的常用方法类提供的常用方法 setEchoChar(charsetEchoChar(char c); / c); /设置回显字符,默认设置回显字符,默认“.“.“ getEchoChargetEchoChar(); /(); /返回返回charchar型的回显字符型的回显字符 echoCharIsSetechoCharIsSet(); /(); /查看是否设置了回显字符,若已经查看是否设置了回显字符,若已经 设置,返回设置,返回truetrue,否则为,否则为false;false; getPasswordgetPassword(); /(); /获得用户输入的文本信息,返回值获得用户输入的文本信息,返回值 为为charchar型的数组;型的数组; n n 例子:例子:PasswordFieldDemo.javaPasswordFieldDemo.java 8.3.9 8.3.9 JTextAreaJTextArea组件组件 n n 创建一多行文本域,可以进行编辑;创建一多行文本域,可以进行编辑; n n JTextAreaJTextArea类提供的常用方法;类提供的常用方法; append(Stringappend(String strstr); /); /将指定文本添加到文档末尾;将指定文本添加到文档末尾; insert(Stringinsert(String strstr, , intint pos); / pos); /将指定文本插入到指定位将指定文本插入到指定位 置;置; replaceRange(StringreplaceRange(String strstr, , intint start, start, intint end); / end); /将新文将新文 本替换指定位置开始到指定位置结束的文本;本替换指定位置开始到指定位置结束的文本; getColumnWidthgetColumnWidth(); /(); /获取列的宽度;获取列的宽度; getLineCountgetLineCount(); /(); /获取文本区包含的行数;获取文本区包含的行数; getPreferredSizegetPreferredSize(); /(); /返回文本区的首选大小;返回文本区的首选大小; getRowsgetRows(); /(); /返回文本域的行数;返回文本域的行数; setLineWrap(booleansetLineWrap(boolean b); / b); /是否自动换行,默认为是否自动换行,默认为 falsefalse n n 例子:例子:TextAreaDemo.javaTextAreaDemo.java 8.4 8.4 常用的布局管理器常用的布局管理器 n n 布局管理器负责管理组件在容器中的排列方式;布局管理器负责管理组件在容器中的排列方式; n n 为了支持为了支持JavaJava的跨平台性,引入了布局管理器;的跨平台性,引入了布局管理器; n n 布局管理器可以用布局管理器可以用setLayoutsetLayout() ()方法进行设定;方法进行设定; getContentPane().setLayout(LayoutManaggetContentPane().setLayout(LayoutManag erer mgr); mgr); 若不使用布局管理器,则将参数设置为若不使用布局管理器,则将参数设置为null;null; getContentPane().setLayout(nullgetContentPane().setLayout(null); ); n n 若不使用布局管理器,则必须使用直接定位的方若不使用布局管理器,则必须使用直接定位的方 式排列所有组件;缺点是不能保证在其他平台上式排列所有组件;缺点是不能保证在其他平台上 能够正确显示;能够正确显示; 8.4.1 8.4.1 不使用布局管理器(略)不使用布局管理器(略) 8.4.2 8.4.2 FlowLayoutFlowLayout布局管理器布局管理器 n n FlowLayoutFlowLayout类实现的布局管理器称为类实现的布局管理器称为流布局管理器流布局管理器; n n 排列方式排列方式:首先在一行上排列组件,若没有足够的空间,:首先在一行上排列组件,若没有足够的空间, 则回行显示;当容器大小发生变化时,按此规则重新排列则回行显示;当容器大小发生变化时,按此规则重新排列 组件;组件; n n 流布局管理器默认居中显示组件,可通过流布局管理器默认居中显示组件,可通过setAlignmentsetAlignment() () 方法进行设定;方法进行设定; setAlignment(intsetAlignment(int align); align); alignalign可选值:可选值:FlowLayout.LEFTFlowLayout.LEFT FlowLayout.CENTERFlowLayout.CENTER FlowLayout.RIGHTFlowLayout.RIGHT n n FlowLayoutFlowLayout布局管理器默认组件间的距离布局管理器默认组件间的距离 (水平、垂直)为(水平、垂直)为5 5像素;可用像素;可用 setHgap(intsetHgap(int hgaphgap); ); 和和setVgap(intsetVgap(int vgapvgap); ); 进行设置进行设置 n n 例子:例子: FlowLayoutDemo.javaFlowLayoutDemo.java 8.4.3 8.4.3 BorderLayoutBorderLayout布局管理器布局管理器 n n 即即边界布局管理器边界布局管理器; n n 布局方式:将窗口划分为布局方式:将窗口划分为5 5个部分;个部分; NORTH WESTCENTEREAST SOUTH n n 边界布局管理器为边界布局管理器为JFrameJFrame窗体的默认布局管理器窗体的默认布局管理器 ; n n 若容器采用了边界布局管理器,在将组件添加到若容器采用了边界布局管理器,在将组件添加到 容器时,必须指定其显示位置容器时,必须指定其显示位置, ,指定方法如下:指定方法如下: n n add(Componentadd(Component comp, Object constraints); comp, Object constraints); comp:comp:被添加的组件;被添加的组件; constraints: constraints: 显示位置,可选值为显示位置,可选值为BorderLayoutBorderLayout的常的常 量值:量值:BorderLayout.CENTERBorderLayout.CENTER; ; BorderLayout.NORTHBorderLayout.NORTH; ; BorderLayout.SOUTHBorderLayout.SOUTH; ; BorderLayout.WESTBorderLayout.WEST; ; BorderLayout.EASTBorderLayout.EAST; ; n n BorderLayoutBorderLayout布局管理器默认组件间的水布局管理器默认组件间的水 平、垂直距离均为平、垂直距离均为0 0像素,可通过像素,可通过 setHgap(intsetHgap(int hgaphgap); );和和setVgap(intsetVgap(int vgapvgap) ) 进行设定;进行设定; n n 例子:例子:BorderLayoutDemo.javaBorderLayoutDemo.java 8.4.4 8.4.4 GridLayoutGridLayout布局管理器布局管理器 n n 即即网格布局管理器网格布局管理器; n n 布局方式:将容器按照用户的设置平均分成若干布局方式:将容器按照用户的设置平均分成若干 网格,可通过网格,可通过GridLayoutGridLayout() ()构造函数进行指定;构造函数进行指定; n n GridLayout(intGridLayout(int rows, rows, intint cols); cols); n n 说明:说明: rows0 / view); /设置设置 在面板中显示的组件;在面板中显示的组件; setHorizontalScrollBarPolicy(intsetHorizontalScrollBarPolicy(int); /); /设置水设置水 平滚动条的显示方式;平滚动条的显示方式; setVerticalScrollBarPolicy(intsetVerticalScrollBarPolicy(int); /); /设置垂直滚设置垂直滚 动条的显示方式;动条的显示方式; setWheelScrollingEnabled(falsesetWheelScrollingEnabled(false); /); /设置滚设置滚 动条是否支持鼠标滚轮;动条是否支持鼠标滚轮; n n JScrollPaneJScrollPane类提供的滚动条的显示方式(类提供的滚动条的显示方式( 静态常量)静态常量) HORIZONTAL_SCROLLBAR_AS_NEEDED: HORIZONTAL_SCROLLBAR_AS_NEEDED: 需要时显示;需要时显示; HORIZONTAL_SCROLLBAR_NEVER: HORIZONTAL_SCROLLBAR_NEVER: 水平水平 滚动条永不显示;滚动条永不显示; HORIZONTAL_SCROLLBAR_ALWAYS: HORIZONTAL_SCROLLBAR_ALWAYS: 水水 平滚动条一直显示;平滚动条一直显示; VERTICAL_SCROLLBAR_AS_NEEDED: VERTICAL_SCROLLBAR_AS_NEEDED: 需需 要时显示;要时显示; VERTICAL_SCROLLBAR_NEVER: VERTICAL_SCROLLBAR_NEVER: 垂直滚动垂直滚动 条永不显示;条永不显示; VERTICAL_SCROLLBAR_ALWAYS: VERTICAL_SCROLLBAR_ALWAYS: 垂直滚垂直滚 动条一直显示;动条一直显示; n n 例子:例子:ScrollPaneDemo.javaScrollPaneDemo.java 8.6 8.6 常用事件处理常用事件处理 n n 8.6.1 8.6.1 动作事件处理动作事件处理 n n 动作事件由动作事件由ActionEventActionEvent类捕获,最常用的类捕获,最常用的 是当单击按钮后发出的动作事件,可通过是当单击按钮后发出的动作事件,可通过 实现实现ActionListenerActionListener接口处理相应的动作接口处理相应的动作 事件;事件; n n ActionListenerActionListener接口的原型如下:接口的原型如下: public interface public interface ActionListenerActionListener extends extends EventListenerEventListener public void public void actionPerformed(ActionEventactionPerformed(ActionEvent e); e); uuActionEventActionEvent类提供的常用方法类提供的常用方法 n n getSourcegetSource(): (): 获取触发此事件的对象,返获取触发此事件的对象,返 回类型为回类型为Object;Object; n n getActionCommandgetActionCommand(): (): 获取与当前动作相获取与当前动作相 关的命令字符串,返回类型为关的命令字符串,返回类型为StringString; n n 例子:例子:ActionEventDemo.javaActionEventDemo.java 8.6.2 8.6.2 焦点事件处理焦点事件处理 n焦点事件由FocusEvent类捕获,对于焦点 事件可以通过实现FocusListener接口处理 相应的事件; nFocusListener接口原型: public interface FocusListener extends EventListener public void focusGained(FocusEvent e); public void focusLost(FocusEvent e); 8.6.2 8.6.2 焦点事件处理焦点事件处理 nFocusEvent类比较常用的方法 getSource():获取触发事件的目标对象; 例子:FocusEventDemo.java 8.6.3 8.6.3 鼠标事件处理鼠标事件处理 nMouseEvent类捕获鼠标事件,可通过 MouseListener接口处理鼠标事件; nMouseListener有5个抽象方法(下页) public interface public interface MouseListenerMouseListener extends extends EventListenerEventListener / /鼠标进入时触发鼠标进入时触发 public void public void mouseEntered(MouseEventmouseEntered(MouseEvent e); e); / /鼠标按下时触发鼠标按下时触发 public void public void mousePressed(MouseEventmousePressed(MouseEvent e); e); / /鼠标释放时触发鼠标释放时触发 public void public void mouseReleased(MouseEventmouseReleased(MouseEvent e); e); / /鼠标单击时触发鼠标单击时触发 public void public void mouseClicked(MouseEventmouseClicked(MouseEvent e); e); / /鼠标移出时触发鼠标移出时触发 public void public void mouseExited(MouseEventmouseExited(MouseEvent e); e); n n MouseEventMouseEvent类提供的常用方法类提供的常用方法 n n getSourcegetSource(): (): 返回触发此事件的对象(事件源)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论